0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

離散一様分布に従うか?(適合度検定)

Last updated at Posted at 2021-05-01

離散一様分布に従うか?

スクリーンショット 2021-05-01 17.46.00.png
6f0f076e-b8f5-4389-909b-3688dfb1e80c.png

class1〜class4という4つの属性による違いはあるのか?
それとも、違いはない、離散一様分布に従うと考えることはできるのか?

# グラフ
library(dplyr)

d <-data.frame(
  observe = c(rep("class1",330), rep("class2",305),
              rep("class3",263),rep("class4",247))
)

d %>% table() %>% barplot(ylim=c(0,350),col="4")
abline(h = 1145/4, col="red", lwd=3)

離散一様分布との適合度

$H_0:$属性による違いはない(離散一様分布に従う)
$H_1:$属性による違いがある

$H_0$を仮定した場合、理論的には データ数×1/属性数 の離散一様分布になる。
ただ、実際には偶然を考えて完全な等分散にはならない。
では、偶然性を考慮した上で、離散一様分布に従っているか?

観測したデータを観測度数のテーブル
$H_0$に基づいた期待度数のテーブル
この2つを作る。

(期待度数の最小値 $<$ 5 の場合、近似がうまくいかないので注意)

観測度数と期待度数のズレの和を考える

このズレの和はカイ二乗値と等しくなる。

適合度検定

$H_0$が正しければ、nが大きい場合、

$$\chi^2=\sum\frac{(O_i-E_i)^2}{E_i}$$

が$k-1$のカイ二乗分布に従う。

$O_i$:観測度数テーブル$O$のi番目
$E_i$:期待度数テーブル$E$のi番目
$k$:属性数

$H_0$のもとでこの値は小さいはず。
小さいならば$H_0$が支持
大きいなら$H_0$を棄却し、$H_1$を支持。

R

d <-data.frame(
  observe = c(rep("class1",330), rep("class2",305),rep("class3",263),rep("class4",247))
)
# 格納確認
dim(d)
head(d)
names(d)
summary(d)
# table関数からクロス集計表を作る
(obs_tabs <- table(d))
# xtabsを使ってもtableを作れる
# (obs_tabs <- xtabs(~observe,d))

# 合計付きの集計表へ
(f_tabs <- addmargins(obs_tabs))


# 期待度数のtableを作る
(Expected <- obs_tabs) # 観測度数の表とdiimensionが同じになるので、いったん格納して
(Expected <- obs_tabs*0) # 期待度数を入れるために初期化
# sumを拾う
(n <- f_tabs["Sum"])
# 離散一様分布なので割合は 1/属性数 で一律
(p <- 1/dim(obs_tabs))

# 期待度数のtableを作る
for (i in 1:dim(obs_tabs)) Expected[i] <- n*p
Expected
# (期待度数の最小値) ≧ 5 なのでこのまま推定

# 観察度数と期待度数のズレの和
chisq = sum((obs_tabs-Expected)^2/Expected)
chisq

$\chi^2=15.18515$

$H_0$:離散一様分布に従っている、について
両側5%水準で検討する。

自由度:$4-1=3$のカイ二乗分布の上側$5$%点が$7.81$
棄却限界値$7.81$よりもカイ二乗値が大きいので$H_0$は棄却され、$H_1$が支持される。

テーブルをそのままchisq.testに通す

chisq.test(obs_tabs)

Chi-squared test for given probabilities
data: obs_tabs
X-squared = 15.185, df = 3, p-value = 0.001665

たぶん、dim(obs_tabs) で 1行で4というように返ってくるテーブルに対しては離散一様分布のChi-squared test がrunする模様。

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?