Так, собственно, для этого я написал первый пост, в котором нет ничего, кроме математики. Вот ссылка.
На самом деле я взялся за, наверное, довольно сложную задачу — рассказать про методы наиболее понятным языком для наиболее широкой аудитории. Что-то вроде популяризации. Поэтому, если у вас есть какие-то конкретные комментарии, я был бы им очень рад. Тогда я мог бы или подкорректировать эти два поста, или написать еще один.
Честно говоря, я за популяризацию и за то, чтобы рассказывать просто о каких-то вещах, которые люди не знали. Как по мне, так лучше пусть 10 человек увидят впервые (или не впервые) простую картинку и действительно ее поймут, чем 1 человек увидит интересные приложения и удовлетворит свой интерес, а остальные 9 их увидят и сразу закроют.
P.S.
Если вы знаете «стандартный учебник» на русском языке с простым изложением данной темы, дайте ссылку, пожалуйста.
Продолжение почти готово.
Собственно, задача этой статьи и была в том, чтобы рассказать о формуле Байеса (да, разочаровывающе, но это так), потому что без нее невозможно понимать весь анализ. Это центральная формула, вокруг которой строится вся теория и практика.
Эти коэффициетны берутся из соотношений сигм. Например, для двух точек с разными сигмами:
sum(\chi^2) = ( (Data_1 — model_value_at_point_1) / \sigma_1 )^2 + ( (Data_2 — model_value_at_point_2) / \sigma_2 )^2
С точки зрения минимизации, все равно минимизировать ли sum(\chi^2) или эту сумму, поделенную или умноженную на любую константу, поэтому мы ее можем умножить на, например, \sigma_1^2:
sum(\chi^2) * \sigma_1^2 = (Data_1 — model_value_at_point_1) ^2 + ( \sigma_1 / \sigma_1)^2(Data_2 — model_value_at_point_2)^2
Получается, что ( \sigma_1 / \sigma_1)^2 это и есть коэффициент.
Поэтому я говорил, что в наименьших квадратах необходимо знать сигмы или их отношения. В Байесовском анализе это ограничение снимается. Здесь можно саму сигму (или сигмы) считать как параметр и находить его постериорное распределение. Понятно, что эта неопределенность отражается и на результатах (итоговая погрешность увеличивается).
Честно говоря, я затрудняюсь ответить на ваш вопрос. Тут, скорее, все зависит от того, какие именно места непонятны.
В общем, я бы сказал, что хорошо бы прочитать учебник по теории вероятностей.
Если говорить конкретно о Байесовских методах, то можно почитать John K. Kruschke «Doing Bayesian Data Analysis: A Tutorial with R and BUGS» (к сожалению, только на английском). Эта книга написана очень просто и интересно. Мне кажется, что там все рассказывается очень подробно и с нуля.
Одинаковость сигмы это частный случай. Строго говоря, она не обязательно должна быть одинаковой. У вас может быть, например, два набора данных с двумя сигмами или вообще для каждой точки будет своя сигма, в этих случаях метод наименьших квадратов тоже применим и необходимо знать сигмы (или, по крайней мере, их отношения).
Я подумал, что, может быть, лучше продемонстрировать вышесказанное на формулах.
Теорема Байеса:
p(\theta | Data) ~ p(Data | \theta)*p(\theta) — знаменатель я опустил, т.к. он является константов для нормализации.
Если априорное распределение равномерное, то p(\theta) ~ 1/(b-a), где a и b — границы распределения (мы их можем отодвинуть настолько далеко, насколько хотим). Этот член тоже является константой и его можно опустить,
Если мы считаем, что функция правдоподобия нормальная, то
p(Data | \theta) = 1/(sqrt(2*pi)*sigma) * exp(- sum( (Data_i — model)^2 / (2*sigma^2) ))
sum( (Data_i — model)^2 / (2*sigma^2) ) есть как раз сумма \chi^2
итого p(Data | \theta) = 1/(sqrt(2*pi)*sigma) * exp(- sum(\chi^2) )
Коэффициент 1/(sqrt(2*pi)*sigma) есть константа (если sigma нам задано), таким образом, выкидывая все константы, мы получаем выражение для апостериорной вероятности:
p(\theta | Data) ~ exp(- sum(\chi^2) )
Максимум этого выражения будет как раз в точке минимума суммы \chi^2
То есть при предположениях о равномерности априорного распределения, нормальности функции правдоподобия и заданности сигмы, из формулы Байеса непосредственно следует метод наименьших квадратов.
Он превратится в метод наименьших квадратов (МНК), если априорное распределение будет равномерным (с широкими границами — иначе апостериорное распределение будет «обрубаться» на границах), а функция правдоподобия — нормальной с известной дисперсией. То есть фактическим МНК является частным случаем общего анализа при определенных предположениях.
В принципе их можно применять абсолютно везде (другой вопрос, насколько это целесообразно).
Вообще, есть три цели анализа данных: оценка параметров, прогнозирование данных и сравнение моделей. С помощью байесовских методов можно достичь все три цели.
Из практических примеров, можно назвать следующее, что приходит в голову.
Как писал MAGNUS8, на основе байесовских сетей можно строить системы принятия решений.
Еще одна практическая задача, которой занимаюсь я, состоит в обработке данных физического эксперимента. Есть данные с различных приборов. Причем одни приборы измеряют точно величину параметра, но у них большая неопределенность в координате измерения (то есть измеряют точно, но непонятно где), а другие измеряют в определенном месте, но неточно. С помощью байесовского анализа можно анализировать данные с разных приборов не изолированно, а вместе, за счет чего достигается эффект синергии, и неопределенность в результатах уменьшается.
Еще одна частая задачка в физике и астрономии состоит в следующем. У вас есть сильнозашумленные данные, в которых есть сигналы определенной формы. Но из-за шума вы не можете сказать, в какое время сигналы появлялись и какова их амплитуда. Байесовский анализ в этом поможет.
На основе байесовского анализа вы можете прогнозировать данные. Например, у вас есть исторический тренд какого-то параметра (например, стоимость акций, ВВП и пр.), и вы ходите узнать, с какой вероятностью в следующий момент времени произойдет скачок этого параметра на определенную величину (такой тип задач можно найти и в физике, и в, например, финансах и экономике).
Что касается книжек, то мне очень нравится книга John K. Kruschke «Doing Bayesian Data Analysis: A Tutorial with R and BUGS». Я думаю, это одна из лучших (если не лучшая) практических книг по Байесовскому анализу данных. Она блестяще написана, там приведено большое количество программ на R и после всех глав есть упражнения к этим программам, что позволяет почувствовать теорию на практике.
Еще есть замечательная книга D. Sivia «Data Analysis: A Bayesian Tutorial». Она ориентирована на практику, хотя там не рассматриваются вопросы реализации анализа на каком-либо языке.
И, наконец, Andrew Gelman et all. «Bayesian Data Analysis» — это замечательный учебник, хотя в большей степени теоретический.
Как раз об этом я хочу написать в следующем посте. Просто если не понимать базовую теорию, о которой я здесь написал, то на практике все становится слишком запутанным.
На самом деле я взялся за, наверное, довольно сложную задачу — рассказать про методы наиболее понятным языком для наиболее широкой аудитории. Что-то вроде популяризации. Поэтому, если у вас есть какие-то конкретные комментарии, я был бы им очень рад. Тогда я мог бы или подкорректировать эти два поста, или написать еще один.
P.S.
Если вы знаете «стандартный учебник» на русском языке с простым изложением данной темы, дайте ссылку, пожалуйста.
Собственно, задача этой статьи и была в том, чтобы рассказать о формуле Байеса (да, разочаровывающе, но это так), потому что без нее невозможно понимать весь анализ. Это центральная формула, вокруг которой строится вся теория и практика.
sum(\chi^2) = ( (Data_1 — model_value_at_point_1) / \sigma_1 )^2 + ( (Data_2 — model_value_at_point_2) / \sigma_2 )^2
С точки зрения минимизации, все равно минимизировать ли sum(\chi^2) или эту сумму, поделенную или умноженную на любую константу, поэтому мы ее можем умножить на, например, \sigma_1^2:
sum(\chi^2) * \sigma_1^2 = (Data_1 — model_value_at_point_1) ^2 + ( \sigma_1 / \sigma_1)^2(Data_2 — model_value_at_point_2)^2
Получается, что ( \sigma_1 / \sigma_1)^2 это и есть коэффициент.
Поэтому я говорил, что в наименьших квадратах необходимо знать сигмы или их отношения. В Байесовском анализе это ограничение снимается. Здесь можно саму сигму (или сигмы) считать как параметр и находить его постериорное распределение. Понятно, что эта неопределенность отражается и на результатах (итоговая погрешность увеличивается).
В общем, я бы сказал, что хорошо бы прочитать учебник по теории вероятностей.
Если говорить конкретно о Байесовских методах, то можно почитать John K. Kruschke «Doing Bayesian Data Analysis: A Tutorial with R and BUGS» (к сожалению, только на английском). Эта книга написана очень просто и интересно. Мне кажется, что там все рассказывается очень подробно и с нуля.
Теорема Байеса:
p(\theta | Data) ~ p(Data | \theta)*p(\theta) — знаменатель я опустил, т.к. он является константов для нормализации.
Если априорное распределение равномерное, то p(\theta) ~ 1/(b-a), где a и b — границы распределения (мы их можем отодвинуть настолько далеко, насколько хотим). Этот член тоже является константой и его можно опустить,
Если мы считаем, что функция правдоподобия нормальная, то
p(Data | \theta) = 1/(sqrt(2*pi)*sigma) * exp(- sum( (Data_i — model)^2 / (2*sigma^2) ))
sum( (Data_i — model)^2 / (2*sigma^2) ) есть как раз сумма \chi^2
итого p(Data | \theta) = 1/(sqrt(2*pi)*sigma) * exp(- sum(\chi^2) )
Коэффициент 1/(sqrt(2*pi)*sigma) есть константа (если sigma нам задано), таким образом, выкидывая все константы, мы получаем выражение для апостериорной вероятности:
p(\theta | Data) ~ exp(- sum(\chi^2) )
Максимум этого выражения будет как раз в точке минимума суммы \chi^2
То есть при предположениях о равномерности априорного распределения, нормальности функции правдоподобия и заданности сигмы, из формулы Байеса непосредственно следует метод наименьших квадратов.
Вообще, есть три цели анализа данных: оценка параметров, прогнозирование данных и сравнение моделей. С помощью байесовских методов можно достичь все три цели.
Из практических примеров, можно назвать следующее, что приходит в голову.
Как писал MAGNUS8, на основе байесовских сетей можно строить системы принятия решений.
Еще одна практическая задача, которой занимаюсь я, состоит в обработке данных физического эксперимента. Есть данные с различных приборов. Причем одни приборы измеряют точно величину параметра, но у них большая неопределенность в координате измерения (то есть измеряют точно, но непонятно где), а другие измеряют в определенном месте, но неточно. С помощью байесовского анализа можно анализировать данные с разных приборов не изолированно, а вместе, за счет чего достигается эффект синергии, и неопределенность в результатах уменьшается.
Еще одна частая задачка в физике и астрономии состоит в следующем. У вас есть сильнозашумленные данные, в которых есть сигналы определенной формы. Но из-за шума вы не можете сказать, в какое время сигналы появлялись и какова их амплитуда. Байесовский анализ в этом поможет.
На основе байесовского анализа вы можете прогнозировать данные. Например, у вас есть исторический тренд какого-то параметра (например, стоимость акций, ВВП и пр.), и вы ходите узнать, с какой вероятностью в следующий момент времени произойдет скачок этого параметра на определенную величину (такой тип задач можно найти и в физике, и в, например, финансах и экономике).
Еще есть замечательная книга D. Sivia «Data Analysis: A Bayesian Tutorial». Она ориентирована на практику, хотя там не рассматриваются вопросы реализации анализа на каком-либо языке.
И, наконец, Andrew Gelman et all. «Bayesian Data Analysis» — это замечательный учебник, хотя в большей степени теоретический.