Rで時系列分析:分散均一性

Rでデータサイエンス

分散均一性

誤差項の分散共分散行列\(\sigma^2\Omega\)の対角要素が均一であるか否かを検定。

観測値を\(K\)個の群に分類し、第\(k\)番目の群に属する観測値\(y_i\)について\(V(\epsilon_i)=\sigma_k^2\)とし、帰無仮説\[H_0:\sigma_1^2=\sigma_2^2=\cdots=\sigma_K^2(~\sigma^2)\]を検定する。

各々の群は\(n_k\)個の観測値を含み、\(f_k=n_k-p>0\)(\(p\)は変数の個数)として、個々の郡別に回帰を行い、誤差項の分散\(\sigma_k^2\)の不偏推定量を\(s_k^2\)とすれば、正規分布の仮定の下、\(\dfrac{f_ks_k^2}{\sigma_k^2}\)は自由度\(f_k\)\(\chi^2\)分布に従う。

バートレットの検定統計量

\[T_1=\dfrac{\left(\displaystyle\sum_{k=1}^Kf_k\right)\textrm{log}\,s^2- \displaystyle\sum_{k=1}^K\left(f_k\textrm{log}\,s_k^2\right)}{c},\,\,s^2=\dfrac{\displaystyle\sum_{k=1}^Kf_k\,s_k^2}{\displaystyle\sum_{k=1}^Kf_k},\,\,c=1+\dfrac{\displaystyle\sum_{k=1}^Kf_k^{-1}-\left(\displaystyle\sum_{k=1}^Kf_k\right)^{-1}}{3(K-1)}\]

さらに検定統計量\(T_1\)は帰無仮説の下、近似的に自由度\(K-1\)\(\chi^{2}\)分布に従う。

コックランの検定統計量

自由度\(f_k\)が全て相等しいとき

\[T_2=\dfrac{\textrm{max}\left(s_1^2,s_2^2,\cdots,s_K^2\right)}{s_1^2+s_2^2+\cdots+s_K^2}\]

\(\chi^2\)分布

library(ggplot2)
library(dplyr)
func_chisq <- function(df,ylim = c(0,1)){
  g <- ggplot(data = data.frame(x = c(0,10)),mapping = aes(x = x))
  g <- g + stat_function(fun = dchisq,args = list(df = df))
  g <- g + labs(title = paste0('自由度:',df)) + 
    theme(plot.title = element_text(size = 20,hjust = 0.5),axis.title = element_text(size = 20),
          axis.text = element_text(size = 15)) +
    xlab(label = NULL) + ylab(label = NULL)+ ylim(ylim)
    return(g)
}
df1 <- func_chisq(df = 1)
df2 <- func_chisq(df = 2)
df3 <- func_chisq(df = 3)
df4 <- func_chisq(df = 4)
df5 <- func_chisq(df = 5)
df6 <- func_chisq(df = 6)
gridExtra::grid.arrange(df1,df2,df3,df4,df5,df6,layout_matrix=c(1,2,3,4,5,6) %>% 
                          matrix(nrow = 2,byrow = T),top = textGrob('カイ二乗分布',gp = gpar(fontsize=22,font=1)))
Figure 1

参考引用資料

  • 佐和隆光(2020),『回帰分析(新装版)』,朝倉書店,pp.120-122

最終更新

Sys.time()
[1] "2024-04-28 14:56:54 JST"

R、Quarto、Package

R.Version()$version.string
[1] "R version 4.3.3 (2024-02-29 ucrt)"
quarto::quarto_version()
[1] '1.4.553'
packageVersion(pkg = "tidyverse")
[1] '2.0.0'

著者