2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки


Правила форума


В этом разделе нельзя создавать новые темы.

Если Вы хотите задать новый вопрос, то не дописывайте его в существующую тему, а создайте новую в корневом разделе "Помогите решить/разобраться (М)".

Если Вы зададите новый вопрос в существующей теме, то в случае нарушения оформления или других правил форума Ваше сообщение и все ответы на него могут быть удалены без предупреждения.

Не ищите на этом форуме халяву, правила запрещают участникам публиковать готовые решения стандартных учебных задач. Автор вопроса обязан привести свои попытки решения и указать конкретные затруднения.

Обязательно просмотрите тему Правила данного раздела, иначе Ваша тема может быть удалена или перемещена в Карантин, а Вы так и не узнаете, почему.



Начать новую тему Ответить на тему
 
 Поправка Аспина-Уэлча
Сообщение21.09.2010, 07:53 


27/10/09
600
Если две выборки $x$ и $y$ взяты из одной генеральной совокупности, подчиняющейся нормальному распределению (т.е. истинные центры и дисперсии двух выборок равны), то статистика $t=\frac{\bar{x}-\bar{y}}{\sqrt{s^2 \frac{(n_x+n_y)}{n_x n_y}}}$ подчиняется распределению Стьюдента с $n_x+n_y-2$ степенями свободы. Здесь $n_x$ и $n_y$ - объемы соответствующих выборок, обобщенная дисперсия $s^2=\frac{s_x^2 (n_x-1) +s_y^2 (n_y-1)}{n_x+n_y-2}$. Это несложно проверить численно: моделируем две выборки из нормального распределения с одинаковыми центрами и стандартами, считаем статистику $t$ и так несколько тысяч раз - получаем выборку статистики с законом распределения Стьюдента с $n_x+n_y-2$ степенями свободы.
Если же выборки взяты из разных генеральных совокупностей с разными дисперсиями но одинаковыми центрами, то, в соответствии с поправкой Аспина-Уэлча, та-же самая статистика подчиняется распределению Стьюдента с $\frac{\left(\frac{s_x^2}{n_x}+\frac{s_y^2}{n_y} \right)^2}{\frac{s_x^4}{(n_x-1) n_x^2}+\frac{s_y^4}{(n_y-1) n_y^2}}$ степенями свободы. Как теперь это проверить численно? Сложность в том, что для каждой выборки (для каждой разницы выборочных дисперсий) свой закон распределения (свои степени свободы).

 Профиль  
                  
 
 Re: поправка Аспина-Уэлча
Сообщение22.09.2010, 09:09 
Заслуженный участник


12/07/07
4448
Как и всегда при проверке приближенного критерия, вначале следует исследовать вероятность ошибки первого рода. Например, можно выбрать несколько наиболее часто используемых уровней (0.20, 0.10, 0.05, 0.01) и найти методом статистических испытаний (Монте-Карло) оценки вероятностей первого рода, выбирая различные значения объемов выборок и дисперсий. Т.к. критерий Уэлча (Welch’s t test) является приближенным, то для сравнения имеет смысл (формально) применить критерий Стьюдента или другой уместный критерий.

 Профиль  
                  
 
 Re: поправка Аспина-Уэлча
Сообщение23.09.2010, 08:40 


27/10/09
600
Извиняюсь, по-видимому, не понятно задал вопрос. Проблема именно в генерировании выборок – точное значение выборочной дисперсии непредсказуемо, а отношение этих значений задает закон распределения. Получается, что для каждой пары выборок свой закон распределения.
На самом деле, огромное спасибо за ссылку! У меня была ошибка – статистика не «та-же самая», а совершенно другая. При расчете статистики я считаю дисперсии обеих выборок, а потом умножаю вторую выборку так, чтобы отношение дисперсий оставалось константой (истинные центры обеих выборок равны нулю). Правда, не знаю, несколько это правильно. Можно и не умножать – закон распределения статистики при количестве экспериментов 10 000 не сильно меняется.

 Профиль  
                  
 
 Re: поправка Аспина-Уэлча
Сообщение23.09.2010, 11:18 
Заслуженный участник


12/07/07
4448
Думаю, Вам не следует пытаться получить оценку функции распределения или плотности распределения. Посмотрите файл, на который ссылаются в статье из wiki. Содержимое этого файла типичный пример применения Монте-Карло для тестирования критерия (мне только не понравился выбор значений $\sigma_1$ и $\sigma_2$, я бы зафиксировал $\sigma_1$ и вычислял бы оценку вероятности ошибки первого рода как функцию отношения $\sigma_2/\sigma_1$).

(Опишу, как можно генерировать выборки для оценки вероятности ошибки первого рода)

Для фиксированных объемов выборки, одинаковых (для простоты равных нулю) значений математических ожиданий и некоторых значений $\sigma_1$ и $\sigma_2$. Выполняется серия экспериментов. В каждом эксперименте генерируется выборка $X$ объема $n_1$, с параметрами $\mu=0$, $\sigma_1$ и выборка $Y$ объема $n_2$, с параметрами, $\mu=0$, $\sigma_1$.
Для этих выборок находят оценки математического ожидания $\overline X$, $\overline Y$ (обозначим через $M_1$ и $M_2$) и несмещенные оценки дисперсий $S_1^2$ и $S_2^2$ (обозначим через $SS_1$ и $SS_2$). Далее вычисляется значение статистики $t$ и $\nu$, здесь $\nu$ округленное до целого значение приведенной Вами статистики. Проверяется условие $t > t_{\nu, \beta}$, где $t_{\nu, \beta}$ — квантиль уровня $\beta$ распределения Стьюдента с $\nu$ степенями свободы. Если условие выполнено, то увеличивается на 1 счетчик случаев, когда гипотеза была отвергнута. Обычно для каждого эксперимента выполняется несколько проверок с различными уровнями. После выполнения всех экспериментов значения счетчиков делят на число экспериментов в серии.
Пример программы на Borland Pascal (компилировалось и выполнялось в среде Delphi 5.0, но использованы средства языка, имеющиеся и в более ранних диалектах Borland Pascal).
Код:
program welch;
uses NormRnd; {Модуль содержит генератор нормального распределения,
{в тексте это функции InitN1DRnd(0, 1) и N1DRnd}

const
n1 = 5;
n2 = 5;
Rep = 1000000;
sigma1 = 1;
sigma2 = 16;
var
quantile : array [1..100] of record l_80, l_90, l_95, l_99 : Extended; end;
i, j : Integer;
X: array[1..n1] of Extended;
Y: array[1..n2] of Extended;
m1, m2, ss1, ss2, t, nu:    Extended;
scount_80, scount_90, scount_95, scount_99: Integer;
wcount_80, wcount_90, wcount_95, wcount_99: Integer;
txt: Text;

begin
Assign(txt, 'student.dat'); {Из файла 'student.dat' считываются квантили распределения Стюдента}
Reset(txt);                        {уровня 0.80, 0.90, 0.95, 0.99 и степенях свободы 1..100}
for i:= 1 to 100 do with quantile[i] do Readln(txt, l_80, l_90, l_95, l_99);
Close(txt);

scount_80:= 0; scount_90:= 0; scount_95:= 0; scount_99:= 0;
wcount_80:= 0; wcount_90:= 0; wcount_95:= 0; wcount_99:= 0;
InitN1DRnd(0, 1); {Инициализируем для получения стандартных нормальных случайных величин}
for j := 1 to Rep
do begin
     m1:= 0; for i:= 1 to n1 do begin X[i]:= sigma1*N1DRnd; m1:= m1 + X[i]; end; m1:= m1/n1;
     m2:= 0; for i:= 1 to n2 do begin Y[i]:= sigma2*N1DRnd; m2:= m2 + Y[i]; end; m2:= m2/n2;
     ss1:=0; for i:= 1 to n1 do       ss1:= ss1 + sqr(X[i] - m1);   ss1:= ss1/(n1-1);
     ss2:=0; for i:= 1 to n2 do       ss2:= ss2 + sqr(Y[i] - m2);   ss2:= ss2/(n2-1);
     ss1:= ss1/n1; ss2:= ss2/n2;
     t := (m1-m2)/sqrt(ss1 + ss2);
     nu:= sqr(ss1 + ss2)/(sqr(ss1)/(n1-1) + sqr(ss2)/(n2-1));
     with Quantile[n1+n2-2]
      do begin
          if t > l_80 then inc(scount_80);
          if t > l_90 then inc(scount_90);
          if t > l_95 then inc(scount_95);
          if t > l_99 then inc(scount_99);
         end;
     with Quantile[Round(nu)]
      do begin
          if t > l_80 then inc(wcount_80);
          if t > l_90 then inc(wcount_90);
          if t > l_95 then inc(wcount_95);
          if t > l_99 then inc(wcount_99);
         end;
    end;
if ParamCount > 0 {если указан параметр командной строки}
then begin       {то считаем, что задано имя файла и выводим в этот файл}
       Assign(txt, ParamStr(1));
       Rewrite(txt);
       Writeln(txt, 's: ', scount_80/Rep:8:3, scount_90/Rep:8:3, scount_99/Rep:8:3, scount_99/Rep:8:3);
       Writeln(txt, 'w: ', wcount_80/Rep:8:3, wcount_90/Rep:8:3, wcount_99/Rep:8:3, wcount_99/Rep:8:3);
       Close(txt);
      end
else begin
       writeln('s: ', scount_80/Rep:8:3, scount_90/Rep:8:3, scount_95/Rep:8:3, scount_99/Rep:8:3);
       writeln('w: ', wcount_80/Rep:8:3, wcount_90/Rep:8:3, wcount_95/Rep:8:3, wcount_99/Rep:8:3);
      end;
end.

В качестве примера использования такого подхода

Для случая $\sigma_1 = 1$, $\sigma_2 =1$, $n_1=5$, $n_2=5$ получим значения
s: 0.200; 0.100; 0.050; 0.010
w: 0.197; 0.097; 0.047; 0.008

Для случая $\sigma_1 = 1$, $\sigma_2 =16$, $n_1=5$, $n_2=5$ получим значения
s: 0.212; 0.117; 0.068; 0.022
w: 0.200; 0.100; 0.050; 0.010

Видно, что при большом различии дисперсий вероятность ошибки первого рода критерия Стьюдента превышает номинальные значения, с другой стороны, видно, что критерий Welch является консервативным.

 Профиль  
                  
 
 Re: поправка Аспина-Уэлча
Сообщение23.09.2010, 13:28 


27/10/09
600
У меня немного другая задача - я просто численно проверяю критерии, которые использую в работе. Дело в том, что в современных справочниках иногда, к сожалению, содержатся ошибки. Поскольку ни по образованию, ни по профессии я не математик, то самый простой способ для меня - это численная проверка нескольких вариантов. Вот, благодаря Вам, понял, что пытался неправильно применить поправку Уэлча.
Еще один вопрос: существует ли аналог поправки Уэлча для нескольких выборок? Т.е. критерий равенства средних нескольких выборок при неравных дисперсиях. Что-нибудь похожее на дисперсионный анализ Фишера, но для случая, когда дисперсии выборок не равны. По идее та поправка Уэлча, которую мы обсудили, должна быть частным случаем, т.е. случаем, когда "несколько" равно двум.

 Профиль  
                  
 
 Re: поправка Аспина-Уэлча
Сообщение23.09.2010, 20:07 
Заслуженный участник


12/07/07
4448
В статье Sawilowsky (на которую ссылается статья в wiki) в связи с обобщением на случай многих выборок дается ссылка на работу
Welch, B. L. (1947). The generalization of Student’s problem when several different population variances are involved. Biometrika, 34, 28–35. (Cкан свободно доступен на нескольких ресурсах, например, тут: pdf. Если уберут, можно поискать по названию статьи.)

 Профиль  
                  
 
 Re: поправка Аспина-Уэлча
Сообщение24.09.2010, 17:04 


27/10/09
600
За статьи огромное спасибо! Вот только я не совсем понял формулу 27 в статье Уэлча. Утверждается, что в случае, если $k$ (количество выборок) не равно 2, то статистика $v=\frac{(y-\eta )}{\sqrt{\sum \lambda _i s_i^2}}$ аппроксимируется распределением Стьюдента с соответствующими степенями свободы. Однако не понятно, что в этом случае стоит в числителе. В начале статьи, сразу после уравнения 1, указано, что $ \eta =\alpha _1-\alpha _2$, а $ y=\bar{x}_1-\bar{x}_2$. Но тогда это опять же задача для двух выборок, а не обобщение на несколько выборок, или я чего-то не понимаю.

 Профиль  
                  
 
 Re: поправка Аспина-Уэлча
Сообщение24.09.2010, 17:42 
Заслуженный участник


12/07/07
4448
Выше я привел ссылку на слишком раннюю работу (не был времени посмотреть внимательно, только сегодня к вечеру освобожусь). В связи с Вашим вопросом, думаю, лучше посмотреть работу
Welch, B.L., On the comparison of several mean values: an alternative approach, Biometrika, 38, 330–336, 1951 (свободно доступный pdf).

 Профиль  
                  
 
 Re: поправка Аспина-Уэлча
Сообщение25.09.2010, 19:58 


27/10/09
600
Да, именно эта статья содержит исчерпывающий ответ на мой вопрос. Огромное спасибо! Единственная маленькая деталька - при моделировании эта статистика не совсем подчиняется Фишеровскому распределению. Если я правильно понимаю, то это связано с моим способом моделирования, а именно: количество степеней свободы я считаю по истинным дисперсиям, т.е. по тем, которые подаю на вход генератора случайной величины (чтобы степени свободы были для всех статистик одинаковые). Выборочные дисперсии отличаются от истинных, что вполне логично. Вопрос - насколько будет правильно при расчете статистики пользоваться истинными дисперсиями, предварительно выровняв выборки так, чтобы выборочные были равны истинным? Собственно, выравнивать нужно будет только центры, домножив их на отношение истинного стандарта к выборочному.

 Профиль  
                  
 
 Re: поправка Аспина-Уэлча
Сообщение26.09.2010, 11:17 


27/10/09
600
Попробовал немного иначе. По идее, если взять выборку $Z$ случайной величины, подчиняющейся распределению с законом $F(z,p)$, где $p$ - параметры распределения, и достаточно большого объема $L$, то точки в координатах $\{ x,y \}= \{ rank(F(z_i, p_i))-\frac{1}{2 L}, F(z_i, p_i) \}$ должны лежать на прямой $y=x$, здесь $rank(F(z_i, p_i))$ - порядковый номер элемента $F(z_i, p_i)$ в отсортированной по возрастанию выборке $F(z, p)$. Т.е. рассматривается не сама статистика, а значение функции распределения от этой статистики. Тогда решается вопрос о разных степенях свободы. Правда не уверен, что это правильно.
Но, к сожалению, в области вероятностей больше 0.4 точки отклоняются от прямой вправо, т.е. большие значения статистики, заданной уравнением 27 в статье 1951 года, появляются чаще, чем предлагается распределением Фишера. Надо заметить, что при двух выборках эти точки лежат точно на прямой.

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 10 ] 

Модераторы: Модераторы Математики, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group