2014 dxdy logo

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

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




 
 Доверительные интервалы на QQ-графике
Сообщение05.09.2015, 18:26 
У меня задача вручную построить QQ(квантиль-квантиль)-диаграмму с доверительными интервалами для каждой точки на ней.

Нашел вот такое руководство: https://www.stat.auckland.ac.nz/~ihaka/787/lectures-quantiles2-handouts.pdf,
где, если я все правильно понял, для моих центрированных стандартизованных величин предлагается следующий интервал:

$$\Phi^{-1}(F_n(x)-k)\leq x \leq  \Phi^{-1}(F_n(x)+k) $$

где $$F_n(x) = \frac{\text{Количество} \ X_i \ \leq \ x}{n}$$

а $k$ - это 5%-е критическое значение статистики Колмогорова-Смирнова для $n$ испытаний (выходит, одинаковое для всех элементов выборки).

Значит, мои иксы отсортированы и стандартизованы, я откладываю их на оси ординат, на оси абсцисс - квантили нормального распределения для значений функции $i/n$. Затем, строю доверительные интервалы по следующей схеме: просто перебирая $1 \leq i \leq n$, беру в качестве значений функции $F_n(x_i)=i/n$, $k=1.36/ \sqrt{n}$ - значение KS-статистики для $\alpha=0.05$ при больших $n$.

Результат выглядит следующим образом:

Изображение

А вот применение встроенной функции в пакете R:

Код:
    library(car)
    qqPlot(myres)


Изображение

У меня по сравнению с этим границы быстро расходятся (что даже вызывает ошибки).

(Мне удалось получить подобную картинку, поставив вместо $k$ эмпирическое значение KS-статистики, т.е. максимальное расстояние между эмпирической и теоретической функциями распределения):

Код:
myk1<-ks.test(myquant,myres)$statistic

    for (i in 1:100)
    {
      ##segments(x0,y0,x1,y1,..)
      points(myquant[i],qnorm(i/100-myk1),pch='.')
      points(myquant[i],qnorm(i/100+myk1),pch='.')
    }


Изображение

Но мне это не кажется хорошей идеей.

Вопрос: Что я делаю не так и какие есть вообще способы построить доверительные интервалы на QQ-диаграмме?

Мой код в R:

Код:
    ## myres - my previously generated standardized sorted residuals
   
    ## Generating standard normal quantiles of the middle of the intervals
    ## (k/n, (k+1)/n)
   
    myquant<-qnorm((1:100-0.5)/100)
   
    ######### plotting Q-Q plot for comparsion with normal distribution
   
    plot(myquant,myres)
    abline(0,1)
   
    ## Critical values for Kolmogorov-Smirnov test for N>50, alpha=0.05 are
    ## 1.36/sqrt(N)
    ## We have F(x) = k/n in the sorted sample while looping
   
    for (i in 1:100)
    {
      ##segments(x0,y0,x1,y1,..)
      points(myquant[i],qnorm(i/100-1.36/sqrt(100)),pch='.')
      points(myquant[i],qnorm(i/100+1.36/sqrt(100)),pch='.')
    }
   
   

 
 
 
 Re: Доверительные интервалы на QQ-графике
Сообщение06.09.2015, 21:06 
Нашел код, который использует функция car::qqPlot в R (по ссылке в комментариях больше объяснений):
https://stats.stackexchange.com/questions/111288/confidence-bands-for-qq-line

Суть такова:

1) Сортируем остатки
2) Генерируем вектор вероятностей $P$ на отрезке $(0;1)$ с вероятностями вида $\frac{i}{n+1}$
3) Генерируем $z$ - квантили нормального распределения для этих вероятностей
4) Генерируем $zz$ - пусть будет $95 \%$-й квантиль нормального распределения
5) Теперь считаем стандартные ошибки упорядоченной выборки по формуле
$$SE(X_{(i)})=\frac{\hat{\sigma}}{p(z_i)}\sqrt{\frac{P_i(1-P_i)}{n}} $$
где $p(z_i)$ - значения плотности нормального распределения в точках $z_i$; $P_i$ см. выше, теперь доверительные границы для $X_{(i)}$ должны выглядеть как
$$\hat{X}_{(i)}\pm 2\cdot SE(X_{(i)}) $$
$$\hat{X}_{(i)} = \hat{\mu}+\hat{\sigma}z_i$$
А в коде функции этой двойки нет! Вот еще фрагмент кода, ответ пользователя Floo0:
https://stackoverflow.com/questions/4357031/qqnorm-and-qqline-in-ggplot2/27191036#27191036

6) Пограмма чертит линии вида $$ \hat{\mu}+ \hat{\sigma}\cdot z \pm zz\cdot SE(X_{(i)}) $$

Данная формула родом из оценки, данной на Википедии https://en.wikipedia.org/wiki/Order_statistic#Large_sample_sizes:
$$X_{(\lceil np \rceil)} \sim AN\left(F^{-1}(p),\frac{p(1-p)}{n[f(F^{-1}(p))]^2}\right)$$
и в данном случае величина $f(F^{-1}(p))$ оценена как $p(z_i)/\hat{\sigma}$.

Можете кто-нибудь, пожалуйста, объяснить мне, как получена эта асимптотика, как из нее следует эта оценка и нужна двойка в программе?

 
 
 [ Сообщений: 2 ] 


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group