No.07840 Re: 重回帰分析の対象者数について 【後医は名医】 2008/10/07(Tue) 00:35
森實敏男著のメディカルトリビューン社「わかりやすい医学統計学」p151には「独立変数あたり20例が必要とされている」と記載されていますので,20x9=180人が必要でしょう。
No.07841 Re: 重回帰分析の対象者数について 【TK】 2008/10/07(Tue) 00:52
返信ありがとうございました。それは絶対的あものなのでしょうか?180名に足りない場合は,どのような方法をとればよいのでしょうか?教えてください。
No.07842 Re: 重回帰分析の対象者数について 【青木繁伸】 2008/10/07(Tue) 01:37
> 180名に足りない場合は,どのような方法をとればよいのでしょうか?教えてください。
もう既にデータを取ったということですか。何例あるんですか?
理論的には,独立変数の個数より1大きいときには,完全な予測が出来ます。つまり,独立変数が1個の場合は2例,つまり,データ点が2個で,直線にあてはめしたら二点を通る直線が決まるので,誤差のない予測が出来ると言うこと。
どのような根拠で20例という数値が出てくるのか分からないけど,シミュレーションしてみたところ,20例なんて少ないデータ数では,安定した結果は得られないように見えますねぇ。
以 下に,3変数,10万対のデータを母集団とし,そこから n 対のデータを取りだし独立変数2個の重回帰分析をし,1番目の独立変数に対する偏回帰係数を記録する。これを1000回繰り返し,小さい順に並べ直 し,2.5%タイル,97.5%タイル値を求める。nは20から1000まで6種類設定する。> sim <- function(n=20) {上のプログラムの gendat, tri.mat は,http://aoki2.si.gunma-u.ac.jp/R/ にあるもの
+ trial <- 1000 # 試行回数
+ result <- numeric(trial) # 回帰係数の保管場所
+ for (i in 1:trial) {
+ z <- x[sample(N, n),] # 母集団からランダムサンプリング
+ result[i] <- coefficients(lm(z[,3]~z[,1]+z[,2]))[2] # 1番目の独立変数の偏回帰係数
+ }
+ result <- sort(result) # 偏回帰係数を小さい順に並べ替え
+ return(c(lcl=result[25], ucl=result[975])) # 下側 2.5% 点, 上側 2.5% 点
+ }
> set.seed(123)
> N <- 100000 # 母集団のサイズ
> x <- gendat(N, tri.mat(c(1,0.1,1,0.5,0.6,1), 3)) # 母集団
> cor(x) # 3 次元正規分布の母相関係数行列
[,1] [,2] [,3]
[1,] 1.0 0.1 0.5
[2,] 0.1 1.0 0.6
[3,] 0.5 0.6 1.0
> coefficients(lm(x[,3]~x[,1]+x[,2]))[2]
x[, 1]
0.4444444 # 1 番目の独立変数(xの1列目)の母偏回帰係数(真値)
> n <- c(20, 50, 100, 250, 500, 1000) # 6通りのサンプルサイズ
> data.frame(n, t(sapply(n, sim))) # シミュレーション
n lcl ucl
1 20 0.1209291 0.7727451 # ずいぶんと幅がある
2 50 0.2472346 0.6531837
3 100 0.3069602 0.5744353
4 250 0.3609121 0.5316193
5 500 0.3795669 0.5035142
6 1000 0.3986478 0.4860712 # まあ,これくらいの精度は必要かな
No.07847 Re: 重回帰分析の対象者数について 【TK】 2008/10/07(Tue) 10:51
>もう既にデータを取ったということですか。何例あるんですか?
既にデータを取りました。60例です。いかがでしょうか?
No.07848 Re: 重回帰分析の対象者数について 【青木繁伸】 2008/10/07(Tue) 11:02
> 既にデータを取りました。60例です。いかがでしょうか?
それでやる以外無いでしょう。もっと,データを追加して取れるんですか?
それと,目的は何でしょうか?パラメータ推定が目的ならば,ブートストラップ法という手もあるでしょうけど。
No.07850 Re: 重回帰分析の対象者数について 【TK】 2008/10/07(Tue) 11:55
生活習慣を改善させることを目的として設けられた9つのコンピュータの機能があるとします。9つの機能をそれぞれ 7件法で評価してもらいました。目的を達成できたかどうかも,7件法で聞いています。従属変数を,「目的を達成できたか」の得点とし,独立変数を9つの機 能の得点とし,9つの機能が目的とした生活習慣の改善に及ぼしている影響を検討したいと考えています。よろしくお願いします。
No.07852 Re: 重回帰分析の対象者数について 【青木繁伸】 2008/10/07(Tue) 12:09
60例というのは,少ないなぁとは思いますが,得られたデータを使ってやればよいと思いますよ。
独立変数の影響度の比較は偏回帰係数が0かどうかの検定でよいでしょう。
どれくらいデータがあれば精度の高い予測ができるかというのとは別の観点で分析を進めることができます(というか,普通は,あなたと同じ状況,すなわち限られたデータで分析をするのです)。
まあ,それよりは気になる点として,独立変数も従属変数も7件法で聞いたと言うところかなあ。まあ,間隔尺度で測定したと仮定してやるしかないですが。ノンパラメトリック回帰ということもできるのかなぁ。
No.07853 Re: 重回帰分析の対象者数について 【TK】 2008/10/07(Tue) 12:31
ありがとうございました。ご指摘の通りで,7件法という自記式質問調査を量的データとしてとして取り扱うところに 疑問はあります。「独立変数の影響度の比較は偏回帰係数が0かどうかの検定」,「ノンパラメトリック回帰」等を再考して,研究を進めていきたいと思いま す。建設的なアドバイスをいただきありがとうございました。またご指導ご鞭撻のほどよろしくお願いします。
No.07859 Re: 重回帰分析の対象者数について 【青木繁伸】 2008/10/07(Tue) 16:50
> p151には「独立変数あたり20例が必要とされている」と記載
出典は,
4. Feinstein AR: Multivariable analysis: An introduction. Yale University Press, New Heaven, USA, 1966, p226.
だそうです。どなたか,確認できますか??
No.07873 Re: 重回帰分析の対象者数について 【kai】 2008/10/08(Wed) 18:11
例数がどれくらい必要かということを計算する場合には,変数の数に加えて,得られるデータのバラツキがどの程度かも大きく影響します.
バラツキが大きい場合には,例数が多く必要でしょうし,バラツキが小さければ例数は少なくて済むでしょう.
あとはどれくらいの精度で結果を得たいかでしょうか.
● 「統計学関連なんでもあり」の過去ログ--- 042 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る