特定テーマに限定したWikiを立ち上げる必要もなく、ブログの様に私見をまとめる必要もない、
- 講義の予習ノート
- 読書ノート
- メモ
などの雑記帳Wikiから移行した投稿。
統計クラスの予習ノート。
用語
ANOVA | ANalysis Of VAriance 分散分析 |
Bayes Discriminant Rule | ベイズ判別式、ベイズ判別規則 |
categorical variable | カテゴリ変数、質的変数、属性変数 |
DA | Discriminant function Analysis 判別関数分析? |
dependent variable | 従属変数、従変数 |
discriminant analysis | 判別分析 |
discriminant function | 判別関数 |
latent variable | 潜在的変数 |
independent variable | 独立変数 |
LDA | Lnear Discriminant Analysis 線形判別分析 |
linear classifier | 線形分類器 |
linear combination | 一次結合、線形結合 |
logistic regression | ロジスティック回帰 |
NDA | Normal Discriminant Analysis 正規判別分析? |
predictor | 予測因子 |
Probit regression | プロビット回帰 |
regression analysis | 回帰分析 |
subpopulation | 部分母集団 |
偏差 | 確率変数x、確率変数の平均X x - X |
平方和 偏差平方和 変動 |
偏差の2乗(平方)の和。 Σ(x - X)^2 |
標本分散 | 自由度=標本サイズn、で平方和を割ったもの。 1/n * Σ(x - X)^2 |
普遍分散 | 自由度=標本サイズn-1、で平方和を割ったもの。 υ=1 / (n - 1) * Σ(x - X)^2 |
ANOVA
2群の平均値検定 | t検定 |
3群以上の平均値検定 | ANOVA |
- 3群以上を比較するとき、2群間の検定(T検定)を使ってはいけない理由
いま、A,B, Cという3つの群があったとします。そこで、2群間の検定を A-B間、B-C間、C-AC間で有意水準5%で行ったとします。
ここで、「この組み合わせの少なくとも1つは有意差がある」 となる確率を計算すると(実際にその間に有意差があるなしに拘らず)、 1-(1-0.05)*(1-0.05)*(1-0.05) = 0.14 となります。つまり、 有意水準 5% (=0.05)で検定したつもりが、 この方法では実質的に 14 %で検定している、つまり 検定力が低下してしまう、というのが理由です。
要因 独立変数 説明変数 |
データの値に変化を与える要素。 研究者が操作する変数。 |
因子 | 要因のうち、母平均に差をもたらすと考えられる、研究対象となる、注目する要因。 |
水準 | 要因に含まれる項目。 因子を細分化したグループ。 |
従属変数 | 測定される変数。「原因、結果」という文脈では結果。 |
剰余変数 | 従属変数に影響を与えるかもしれないのに,研究者が操作していない変数。 |
n元配置 | データに含まれる因子の数 |
要因が2つ以上存在する場合、主効果に加え、交互作用も検定する。
主効果 main effect |
独立変数が、独自に従属変数へ与える効果。 |
交互作用効果 interaction |
独立変数を組み合わせた場合の複合効果。 |
one way ANOVA | 一次元配置分散分析 | 因子に含まれる水準間の平均値の差を調べる。 |
two way ANOVA | 二次元配置分散分析 他次元配置分析 |
因子間の、各因子における水準間の平均値の差を調べる。 |
一次元配置
- 群(水準)間で平均値に違いがあるかを調べる。
H0 | 群間の母平均は等しい。 A群の母平均=B群の母平均 |
H1 | not H0 両群の母平均は異なる。 |
データ
データの偏差 | データ-全平均 |
群間の偏差 | 群内平均-全平均 |
群内の偏差 | データ-群内平均 |
Xij=全平均+群間の偏差+群内の偏差
式 | Xij | =全平均 | +群間の偏差 | +群内の偏差 |
数理モデル | 測定値 | 全平均 | 要因の効果 | 誤差 |
Xij-全平均=(群内平均-全平均)+(Xij-群内平均)
Xij-全平均 | =(群内平均-全平均) | +(Xij-群内平均) |
データの偏差 | 群間の偏差 | 群内の偏差 |
群間平方和 群間の変動 |
Σ群間の偏差 Σ(群内平均-全平均) |
群間平方平均 群間不偏分散 |
Σ群間の偏差^2/自由度 Σ(群内平均-全平均)^2/自由度 |
群内平方和 群内の変動 |
Σ群内の偏差 Σ(データ-全平均) |
群内平方平均 群内不偏分散 |
Σ群内の偏差^2/自由度 Σ(データ-全平均^2)/自由度 |
二次元配置
- 要因毎の群(水準)間で、平均値に違いがあるかを調べる。
- 全水準間の組み合わせで、平均値に違いがあるかを調べる。
3つの検定を行う。
データ
フォーマット
因子A | 因子B | データ |
level a1 | level b1 | x |
level a1 | level b2 | x |
level a1 | level b3 | x |
level a2 | level b1 | x |
level a2 | level b2 | x |
level a2 | level b3 | x |
level a3 | level b1 | x |
level a3 | level b2 | x |
level a3 | level b3 | x |
分散分析表
繰り返しあり
要因 | 自由度 | 平方和 変動 Sum Sq |
平均平方 普遍分散 Mean Sq |
分散比 F値 |
P値 |
群間 因子A |
dfA = 因子Aの水準数 - 1 | SSA = 因子Aの群間平方和 | 因子Aの群間平方平均 MSA = SSA / dfA |
MSA / MSW | pf(F) |
群間 因子B |
dfB = 因子Bの水準数 - 1 | SSB = 因子Bの群間平方和 | 因子Bの群間平方平均 MSB = SSB / dfB |
MSB / MSW | pf(F) |
群間 因子A, B |
(dfA - 1)(dfB - 1) | SSAB = 群間平方和 | 群間平方平均 MSAB = SSAB / (dfA - 1)(dfB - 1) |
MSAB / MSW | pf(F) |
群内 群間誤差 残差 residual |
全データ数 - dfA dfB | SSW = 群内平方和 | 群内平方平均 MSW = SSW - (全データ数 - dfA dfB) |
繰り返しなし
要因 | 自由度 | 平方和 変動 Sum Sq |
平均平方 普遍分散 Mean Sq |
分散比 F値 |
P値 |
群間 因子A |
dfA = 因子Aの水準数 - 1 | SSA = 因子Aの群間平方和 | 因子Aの群間平方平均 MSA = SSA / dfA |
MSA / MSAB | pf(F) |
群間 因子B |
dfB = 因子Bの水準数 - 1 | SSB = 因子Bの群間平方和 | 因子Bの群間平方平均 MSB = SSB / dfB |
MSB / MSAB | pf(F) |
群間 因子A, B |
(dfA - 1)(dfB - 1) | SSAB = 群間平方和 | 群間平方平均 MSAB = SSAB / (dfA - 1)(dfB - 1) |
例
アメリカ | フランス | 日本 | ||
父親の身長 | 高い | x1 | y1 | z1 |
^ | 低い | x2 | y2 | z2 |
要因 | 国 父親の身長 |
水準 | 各国 身長の高低 |
分析すること | 平均身長の違いは国に関係あるか 平均身長の違いは父親の身長に関係あるか 2つの要因による相乗効果はあるか |
数理モデル
Xijk | 測定値 |
μ | 全体平均 |
ai | 要因Aの効果 |
bj | 要因Bの効果 |
(Ab)ij | 交互作用の効果 |
εijk | 誤差 |
Xij = μ + ai + bj + (ab)jk + εijk
効果Aについて | H0 | all a1 = 0 |
^ | H1 | not H0 |
効果Bについて | H0 | all bj = 0 |
^ | H1 | not H0 |
交互作用について | H0 | all (ab)ij = 0 |
^ | H1 | not H0 |
R
oneway.test | formulaを指定。 対応なし一元分散配置のみ対応。 |
aov | formulaを指定。 |
anova | objectを指定。 |
Anova | objectを指定。 typeを指定可能。 |
lm | 線形モデル |
coef | 相関係数 coefficientsはエイリアス |
interaction.plot | 交互作用図 |
Python
scipy.stats.f_oneway | 対応なし一元分散配置のみ対応。 |
statsmodels.api.stats.anova_lm | typeを指定可能。 |
statsmodels.api.stats.AnovaRM | 対応あり。 |
osl | anova_lmで線形モデルを指定するために必要。 |
statsmodels.graphics.factorplots.interaction_plot | 交互作用図 |
pythonで一元配置分散分析(one way ANOVA) - 技術メモ
Rで統計学を学ぶ(6)
python 分散分析を行う | Monotalk
Pythonで分散分析(対応なし・二元配置) - Qiita
Statistics // DataMatrix documentation
formula
モデルとして、回帰式を表現する。
回帰式 | モデル |
---|---|
y = b0 + b1 * 1 + b2 * 2 + b3 * 3 | fm1 = y ~ x1 + x2 + x3 |
構文 | lhs ~ rhs |
lhs | 標本値、要因、目的変数 |
rhs | グループ、従属変数、説明変数 |
例
y ~ x | モデル式 y = a + bx + ε( ε は誤差項) |
y ~ x1 + x2 | モデル式 y = a + b1x1 + b2x2 + ε( ε は誤差項) |
y ~ x1 * x2 y ~ x1 + x2 + x1*x2 y ~ (x1 + x2)^2 |
交互作用項を含んだモデル式( x1:x2 でもよい) y = a + b1x1 + b2x2 + b3x1x2 + ε( ε は誤差項) |
y ~ . , data = データ名 | あるデータに目的変数 y と説明変数 x1, ...が含まれ、モデル式がy = a + b1x1 + ・・・ + ε( ε は誤差項)である場合 目的変数 y をベクトルで指定し,右辺は「 y 以外」という意味で . (ピリオド)を指定することも出来る。 |
各変数に値を代入し、モデルをmode.frameへ投入することでデータフレームになる。
y <- 1:3; x1 <- 4:6; x2 <- 7:9; x3 <- 10:12 (d1 <- model.frame(fm1)) # デフォルトでは大局的環境から #=> y x1 x2 x3 # 変数を取得し,データフレームを返す #=> 1 1 4 7 10 #=> 2 2 5 8 11 #=> 3 3 6 9 12 d2 <- d1 * 2 model.frame(fm2, data=d2) # data=...で変数を取得する #=> y x1 x2 x3 # データフレームを指定 #=> 1 2 8 14 20 #=> 2 4 10 16 22 #=> 3 6 12 18 24
formulaとは?(1) - はやしのブログ Rev.3
[R] 予測モデルを作るには formula を活用せよ - ill-identified diary
71. 回帰分析と重回帰分析
Rで統計学を学ぶ(6)
Rで統計学を学ぶ(7)
How formulas work — patsy 0.5.1+dev documentation