Вот есть функция, которая определена, скажем, на 100-мерном единичном кубе. Мои знакомые инженеры хотят узнать как распределены ее значения. Ну, там, среднее, std, верхний процент, нижний процент. Тонкие хвосты им пофигу. Они тыкают 1000 точек, считают статистику и довольны. Я говорю, а с чего вы взяли, что 1000 точек в 100-мерном кубе вообще что-то показывают? А они говорят, мы видим, что статистика меняется с увеличением количества точек. На 200 другая, чем на 100, а с 500 уже почти и не меняется. Пробовали и 2 и 3 тысячи натыкать, результат такой же, как на 1000.
Фишка в том, что таких функций у них куча (у всех общий физический источник). И со всеми - одна и та же история.
Так вот, можно из этого сделать какой-то вывод о том, как выглядит эта функция?
Фишка в том, что таких функций у них куча (у всех общий физический источник). И со всеми - одна и та же история.
Так вот, можно из этого сделать какой-то вывод о том, как выглядит эта функция?
no subject
Date: 2017-02-07 10:47 pm (UTC)no subject
Date: 2017-02-08 06:59 am (UTC)Для смеха взял сейчас функцию x_1*x_2*...x_100 на кубе [0 2] (чтоб среднее было 1 и чтоб численных проблем не было) и разыграл 1000 точек. Получил среднее ~0.002. Разыграл 10^7 точек, получил ~0.3. Разыграл 10^8 точек, получил 3.18. Причем до 87-го миллиона оно держалось где-то на уровне 0.5, потом скакнуло до 3.6 и опять начало снижаться.
no subject
Date: 2017-02-08 07:23 am (UTC)Конечно, если функция имеет гигантские производные где-то - то и квадратура считается плохо. Но для инженерной задачи, как раз могут быть известные ограничения для этого.
no subject
Date: 2017-02-08 07:31 am (UTC)no subject
Date: 2017-02-08 07:51 am (UTC)no subject
Date: 2017-02-08 09:26 pm (UTC)no subject
Date: 2017-02-08 08:57 am (UTC)2) проблема с твоим примером в том, что функция очень велика: скорость сходимости среднего по выборке к среднему по всему пространству оценивается через максимальное значение функции, обычно это называют Chernoff bound, я могу написать подробнее
3) но в целом, если пытаться понять причину происходящего - тебя же не удивляет, что при проведении опросов (забудем о всех других проблемах, с ними связанными) точность опроса определяется размером выборки, а общее количество людей не важно?
no subject
Date: 2017-02-08 09:24 pm (UTC)С опросами - там все-таки совсем другая ситуация. Они меряют какую-то случайную величину (в случае выборов - более ли мменее бинарную), при этом считают, что вероятность зависит от малого числа параметров (возраст, пол, место жительства, доход). При этом они не просто выбирают опрошенных и усредняют результаты, а пытаются нормализовать по этим самым параметрам. Правда, когда тыкаешь точку, она и так нормализована по всем параметрам.
Но, скажем, определить средний доход (пример Талеба) по таким опросам не удастся. Правда, как ты и сказал, это связано с тем, что максимальное значение функции очень большое.
no subject
Date: 2017-02-08 09:30 pm (UTC)no subject
Date: 2017-02-12 07:51 pm (UTC)no subject
Date: 2017-02-17 05:49 pm (UTC)no subject
Date: 2017-02-08 09:42 am (UTC)Значит даны квадратичные формы на 100, 1000, 10000 и т.д. переменных, и коэффициенты выбраны так, что максимум функций на кубе одинаков. И ты считаешь их среднее с заданной точностью, выбирая N случайных значений на кубе. Будет ли зависеть требуемое N от количества переменных? Кажется, вовсе нет - функция распадается на члены, для которых среднее сходится без проблем. Хотя форма графика квадратичной формы на 1000 переменных может быть очень сложной - никакого понятия, что делается в какой части куба, у тебя не будет.
Я это привёл просто как интуитивную демонстрацию того, что форма графика - какая угодно сложнейшая - не нужна нам, и не мешает получить среднее. Это будет верно и для более общих функций.
no subject
Date: 2017-02-08 05:45 am (UTC)если речь идёт только о распределении значений (при униформном распределении х), то как выше сказано, вполне возможно что 1000-точечная выборка даёт гистограмму близкую к распределению значений.
а может быть, что они выбирают х-ы не независимо? скажем, если это какая-то feature картинок 10 на 10, то она может зависеть от подбора картинок, и её статистики - сответственно.
no subject
Date: 2017-02-08 07:05 am (UTC)no subject
Date: 2017-02-08 06:20 am (UTC)Если же что-то известно о распределении параметров этой функции, то это задача о sampling from a multivariate distribution. Точки из распределения выбираются алгоритмом Метрополиса или каким-то другим, в зависимости от того что известно, и на них уже вычисляется статистика.
no subject
Date: 2017-02-08 07:14 am (UTC)кто виноватчто мы можем сказать о функции, зная, что она обладает таким интересным свойством.no subject
Date: 2017-02-08 07:42 am (UTC)Но если все точки в кубе равновероятны и rand() действительно даёт случайную подборку значений, то я в упор не вижу, при чём здесь вообще размерность этого куба; да будет она хоть миллион. Ты получаешь 1000 значений некой случайной величины, и на основании этого, делаешь выводы о среднем, дисперсии, и т.п. С полностью абстрактной точки зрения, это, наверное, нонсенс: у тебя среднее подборки 0.5, а следующее значение может быть 100 гуголов, и тогда что? Но ты же не задаёшься этим вопросом, получая просто случайные значения, которые не зависят от известных тебе параметров? Почему тогда известная тебе зависимость от 100 параметров тебе мешает?
no subject
Date: 2017-02-08 07:52 am (UTC)no subject
Date: 2017-02-08 08:26 am (UTC)Предположим, что тебе дали 100 измерений температуры, и сказали, что это температура с вышки метеоцентра города Анкх-Морпорка на неизвестной планете в случайное время. Ты посчитал среднее и дисперсию, и сказал, что в этом среднем и этой дисперсии достаточно уверен (скажем, дисперсия мала по отношению к среднему). Теперь тебе говорят: "мы тебя обманули, на самом деле это температура, взятая из случайных точек планеты Кин-Дза-Дза в случайное время". Ты скажешь - теперь это среднее неправильно?
no subject
Date: 2017-02-09 12:10 am (UTC)Мне кажется, что ты думаешь - совершенно правильно - что по этим 100 точкам нельзя построить хорошую модель температуры как функции от этих 6 переменных. Для интерполяции в таком пространстве у тебя слишком мало точек; в лучшем случае, получится зависимость от пары переменных и шум. Но для среднего, тебе это не нужно.
no subject
Date: 2017-02-08 08:33 am (UTC)no subject
Date: 2017-02-08 08:01 pm (UTC)А я понял твой вопрос
Date: 2017-02-08 06:57 pm (UTC)А вообще это сейчас очень модно -- исследовать функции от огромного числа переменных, при этом не очень заботясь об обоснованности производимых манипуляций. Требуется только, чтобы к ответу они приводили быстро, по возможности к правильному. Кое-какие эффекты при этом всё же приходится учитывать, например, что градиент функции -- понятие фиктивное.
Re: А я понял твой вопрос
Date: 2017-02-08 09:16 pm (UTC)Re: А я понял твой вопрос
Date: 2017-02-08 09:50 pm (UTC)Re: А я понял твой вопрос
Date: 2017-02-09 12:09 am (UTC)Re: А я понял твой вопрос
Date: 2017-02-09 06:47 am (UTC)Re: А я понял твой вопрос
Date: 2017-02-09 11:37 am (UTC)Для более общих функций, неприменимость интерполяции не требует высокого измерения: возьмём двухмерную картинку, каждый пиксель который получен случайно. Представить эту картинку через небольшое количество переменных невозможно ((c) 1948 Claude Shannon), а посчитать интеграл/среднее через выборку - не проблема.
Re: А я понял твой вопрос
Date: 2017-02-09 01:50 pm (UTC)Re: А я понял твой вопрос
Date: 2017-02-09 03:20 pm (UTC)Re: А я понял твой вопрос
Date: 2017-02-09 04:01 pm (UTC)Re: А я понял твой вопрос
Date: 2017-02-10 10:10 am (UTC)Re: А я понял твой вопрос
Date: 2017-02-09 05:48 pm (UTC)> случайно и независимо в разных точках --
> если только распределение значений всюду одинаковое. А если нет?
Это не важно. Даже если значения самой функции вычисляются из разных распределений, случайно выбранные значения функции будут иметь одинаковые и независимые распределения. Скажем, если в половине точек нашей картинки значение взято из распределения Бернулли B, а во второй половины - из распределения Гаусса G, то распределение значения случайно выбранной точки будет 1/2*B+1/2*G. Выбирая точки случайно одну за другой, мы получим последовательность значений i.i.d. переменных f_i, среднее которой (последовательности) будет сходиться к среднему функции f, т.е. интегралу. Это central limit theorem, самый простой её случай. Так что класс функций, для которых это работает - все функции (ну, measurable).
Если имеется в виду скорость сходимости - она зависит от дисперсии значений функции. Для фунции ile-eli, которая берёт значения от 0 до 2^100, дисперсия очень большая, и понадобится нереальное количество точек, чтобы прийти к среднему значению. В данном случае, конечно, есть простое аналитическое решение, но оно не обобщается: для интеграла функции (даже гладкой, с гладкими производными и т.д.) в многомерном пространстве нет эффективного алгоритма - требуется экспоненциальное количество вычислений функции и т.п. То есть глаза иметь надо, и иногда можно подметить простую структуру функции и интегрировать её легко, но вообще в пространствах с размерностью 100 используются методы Монте-Карло почти без исключений.
Re: А я понял твой вопрос
Date: 2017-02-09 09:41 pm (UTC)Вопрос, как определить скорость сходимости, почему-то никем даже не обсуждался, а между тем, я вдруг осознал, что разумно определить его не так-то просто. Асимптотически среднее по n точкам стремится к пределу как O(1/√n) (это уже утвердение, но проще, чем ЦПТ). А дисперсия среднего по 1000 точек зависит только от дисперсии исходной функции. Ничего интересного.
Интуитивно, хотелось бы спросить, с какой вероятностью средние по n точкам будут более-менее монотонно приближаться друг к другу до n=1000, при этом оставаясь далёкими от предела. Во всяком случае, именно такой эксперимент стал источником дискуссии. Но как это сформулировать, чтобы можно было посчитать, я не придумал.
Re: А я понял твой вопрос
Date: 2017-02-10 07:29 am (UTC)Re: А я понял твой вопрос
Date: 2017-02-12 07:58 pm (UTC)Re: А я понял твой вопрос
Date: 2017-02-10 10:05 am (UTC)no subject
Date: 2017-02-08 07:03 pm (UTC)у твоих инженеров получилось что на выборке из 1000 точек, среднее всегда сходится, и вопрос - можно ли из этой информации выудить что-то про устройство функции, так?
можно на это посмотреть так - пусть х1,...,х100 случайные переменные, равномерно и независимо распределённые на [0,1]. а значение функции у - тоже случайная переменная. тогда мы знаем что у статистически полностью зависит от х1,...,х100 и у нас есть 1000 точек выбранных из совместного распределения. ты, собственно, хочешь решить задачу регрессии - охарактеризовать зависимость у от х1,...х100 по 1000 точкам.
тогда можно сказать следующее - во-первых, судя по всему, маргинальное распределение (marginal distribution) у - не слишком дикое, раз его среднее не скачет на небольшой выборке. скажем, вряд ли оно является смесью 1000 гауссиан с различными центрами.
во-вторых, если у тебя нет никаких предположений о форме функции, это непараметрическая регрессия, и в общем виде ничего нелзя сказать, к примеру, возьмём зависимость y=f(\bar x), где f линейна. зафиксируем n точек. возьмём произвольное дикое отображение 100 мерного куба на себя, g, взаимооднозначное и фиксирующее ровно эти n точек. тогда f(g) даст точно те же результаты для выборки из этих n точек, а функция может при этом измениться как угодно.
в-третьих, можно предполагать ограничения на форму f (гладкость, ограниченность по вчяким нормам). слабые ограничения позволят делать непараметрические регрессии, типа moving averages или knn, и иследовать свойства приближений. но 1000 точек для 100 измерений маловато будет. тем не менее, можно узнать много интересного. например, рассматривая совместные распределения (xi,y). mutual information или другой непараметрический критерий зависимости может сказать, зависит ли у от конкретного xi. хотя, опять же, если проверять все координаты по очереди, надо оценивать вероятность случайных совпадений (типа, раз в 20 попыток может случайно выпасть p<0.05)
ну и в конце, можно предположить параметрическую форму, тем самым сильно сузив класс зависимостей. тогда и по 1000 точкам можно много чего проверить. современные биомаркеры находятся регрессиями в гораздо худших условиях, типа 200 точек в 1000-мерном пространстве. и ничего, работает.
no subject
Date: 2017-03-28 01:55 pm (UTC)В общем случае, даже чтобы восстановить даже простое многомерное распределение нужна туева хуча точек. Очень много.
В общем случае эти безобразия попадают под общую тему проклятия размерности.
no subject
Date: 2017-04-29 07:19 pm (UTC)