> dat # データは資料p468にあるものを拝借
V1 V2 V3 V4 V5
1 10.0 4.5 10.5 32 Plane
2 5.5 4.0 7.5 13 Auto
3 4.5 6.0 5.5 41 Transit
4 3.5 2.0 5.0 41 Transit
5 1.5 4.5 4.0 47 Auto
(中略)
> Age <- dat[,4]
> Chosen <- dat[,5]
> install.packages("VGAM")
> library(VGAM)
> result <- vglm(Chosen ~ Age, multinomial)
> summary(result)
Call:
vglm(formula = Chosen ~ Age, family = multinomial)
Pearson Residuals:
Min 1Q Median 3Q Max
log(mu[,1]/mu[,3]) -1.3414 -0.46045 -0.37807 1.03520 1.7364
log(mu[,2]/mu[,3]) -1.5309 -0.55057 -0.50957 0.93163 1.2531
Coefficients:
Value Std. Error t value
(Intercept):1 3.044945 2.426404 1.25492
(Intercept):2 2.721207 2.292478 1.18702
Age:1 -0.070967 0.065159 -1.08913
Age:2 -0.050003 0.059568 -0.83943
Number of linear predictors: 2
Names of linear predictors: log(mu[,1]/mu[,3]), log(mu[,2]/mu[,3])
Dispersion Parameter for multinomial family: 1
Residual Deviance: 42.1796 on 38 degrees of freedom
Log-likelihood: -21.0898 on 38 degrees of freedom
Number of Iterations: 4
No.08135 Re: 多項ロジスティック回帰分析 【青木繁伸】 2008/11/02(Sun) 18:43
R の coxph を使っても(SASと同じように)分析できますよ。
ところで,SAS がカイ二乗分布を使っているのは(正確な理由は分かりませんが),パラメータの検定に正規近似を使っているからです(Rのcoxphはzを使っていま す)。カイ二乗値の平方根をとったものが標準正規得点(z値)で,t分布の自由度が無限大になったときに対応するわけですね。実際,カイ二乗値の自由度を 1としてP値を求めれば丸めの誤差の範囲で表示された値になると思います。t統計量は正確な値を与えることはたしかですけど。(自由度が幾つになるのかは ちょっと,今分かりません。答えになっていませんけど。)
No.08138 Re: 多項ロジスティック回帰分析 【波音】 2008/11/03(Mon) 00:25
回答ありがとうございます。
たしかに,Coxの比例ハザードモデルを扱う関数coxph()でも同じように分析できました(形どおりやっただけなので,まだ中身を理解しきっていませんが,,,)。
> カイ二乗値の平方根をとったものが標準正規得点(z値)で,t分布の自由度が無限大になったときに対応するわけですね。
なるほど,そういうことですか。
> カイ二乗値の自由度を1としてP値を求めれば丸めの誤差の範囲で表示された値になると思います。
ご指摘のとおり,自由度を1として計算したらほぼp値が一致しました。しかし,まだ自由度についての問題が解決していないので,もっと資料を探してみます。
と いうか,いろんなモデル(と,それに伴う連結関数)がありすぎて数学的な理屈を理解し,Rの関数の中身を把握したりで,いったい,いつになったら一般化線 形モデルを使いこなせるようになるのか,,,(若干,ブラックボックス化してもいいのかとさえ思えてきてしまいそうです^^;)
● 「統計学関連なんでもあり」の過去ログ--- 042 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る