★ 集計されたデータの分析 ★

27. 集計されたデータの分析 あきら 2003/05/28 (水) 03:00
└28. Re: 集計されたデータの分析 青木繁伸 2003/05/28 (水) 09:22
 └32. Re^2: 集計されたデータの分析 青木繁伸 2003/05/28 (水) 11:56
  └36. Re^3: 集計されたデータの分析 青木繁伸 2003/05/28 (水) 14:27
   └58. Rによる近似曲線の表示方法 あきら 2003/06/01 (日) 23:47
    └60. Re: Rによる近似曲線の表示方法   2003/06/02 (月) 09:18


27. 集計されたデータの分析 あきら  2003/05/28 (水) 03:00
はじめまして。
統計に関しては,初心者ですが,宜しくお願い致します。
「年金受給額が多い人ほど,貯蓄額が多い」という仮説を証明するために,そのデータを探しましたが,既に集計されたものしか手に入りません。
例えば,
年金受給額が,80万円未満,80〜120万円,120〜160万円,…,520万円以上の人が,
それぞれ,204人,431人,460人,…,516人で,
貯蓄額の平均は,それぞれ,1617万円,1751万円,1808万円,…,3546万円といったデータです。
(もちろん,…の数値は,あります。)
これだけの情報で,統計的に分析ができるのでしょうか?
出来る場合,どのような分析方法を取れば良いのでしょうか?
統計計算ソフト「R」で分析をしようと思っているのですが,どのようなコマンドになるのでしょうか?
とても幼稚な質問かも知れませんが,かなり調べても,よくわからないので,宜しくお願いいたします。

     [このページのトップへ]


28. Re: 集計されたデータの分析 青木繁伸  2003/05/28 (水) 09:22
> 「年金受給額が多い人ほど,貯蓄額が多い」という仮説を証明するために,
> そのデータを探しましたが,既に集計されたものしか手に入りません。
> 例えば,
> 年金受給額が,80万円未満,80〜120万円,120〜160万円,…,520万円以上の人が,
> それぞれ,204人,431人,460人,…,516人で,
> 貯蓄額の平均は,それぞれ,1617万円,1751万円,1808万円,…,3546万円といったデータです。
> (もちろん,…の数値は,あります。)
> これだけの情報で,統計的に分析ができるのでしょうか?

まさに年金受給額と貯蓄額の関連を知りたいわけですから,それぞれ別の単純集計しかない場合にはどう逆立ちしても無理です。
http://aoki2.si.gunma-u.ac.jp/lecture/Cross/Fisher.html
の表3のように,二変数の単純集計(合計欄)が同じでも,二変数の関連状況は実に様々あるのです。
http://aoki2.si.gunma-u.ac.jp/lecture/misc/tahenryo.html
の例はより高次の場合ですが,考え方は同じです。
より高次の(関与する変数の数が多い)結果は,低次の結果をいくら寄せ集めても得ることができません。

     [このページのトップへ]


32. Re^2: 集計されたデータの分析 青木繁伸  2003/05/28 (水) 11:56
質問を微妙に読み違えていました。すみません。

データをまとめると以下のような状況ですね。
年金受給額   人数   貯蓄額平均
 80万円未満  204人   1617万円
 80〜120万円   431人   1751万円
   :
 520万円以上  516人   3546万円
図に描くと上昇傾向があることはわかります。
しかし,各データポイントは数百人を代表する貯蓄額の平均であることしかわかりません。各データポイントを人数で重み付けを行って回帰分析をするという手はあるかもしれません。
しかしこの場合問題になるのは,年金受給額により階級分けがされていることと,両端の階級がオープンになっている(左(下)の階級の下限は0でしょうが,右(上)は本当のオープン)ので,その階級を代表させる値をちゃんと決めることができませんね。

各年金受給額の階級ごとの貯蓄額の平均値の他に標準偏差もわかっていると,効果量 d を計算してそれを効果量 r に変換するということもできないわけではないです。

いずれにしても,原データあるいはもう少し必要な統計量がわからないとより進んだ統計解析はできないと思います。

     [このページのトップへ]


36. Re^3: 集計されたデータの分析 青木繁伸  2003/05/28 (水) 14:27
シミュレーション結果を見れば一目瞭然
(1)と同じ結果を与えるのは(2)ではなく(3)
> n.g <- 5    # 群の数
> x0 <- 1:n.g    # 群を代表する独立変数値
> y0 <- 2*x0+3    # 従属変数の理論値(仮定)
> n <- floor(runif(n.g, min=100, max=200))    # 群ごとのデータ数
> 
> # (1) 元データを使っての直線回帰
> x <- y <- NULL    # 独立変数と従属変数のベクトルデータ
> for (i in 1:n.g) {
+     x <- c(x, rep(i, n[i]))
+     y <- c(y, rnorm(n[i], mean=y0[i]))
+ }
> lm(y 〜 x)
Coefficients:
       (Intercept)                   x  
3.1859101626922661  1.9386842073785293  

> # (2) 従属変数:平均値
> x0 <- 1:n.g
> y1 <- sapply(x0, function(i) { mean(y[x==i]) } )
> lm(y1 〜 x0)
Coefficients:
       (Intercept)                  x0  
3.2006679769199504  1.9334088430438208  

> # (3) 従属変数:データ数の重みをつけた平均値
> y2 <- NULL
> for (i in 1:n.g) {
+     y2 <- c(y2, rep(y1[i], n[i]))
+ }
> lm(y2 〜 x)
Coefficients:
      (Intercept)                  x  
3.185910162692260  1.938684207378535

     [このページのトップへ]


58. Rによる近似曲線の表示方法 あきら  2003/06/01 (日) 23:47
お忙しい中,早速の丁寧な回答,有難うございます。
質問がわかり難くて,申し訳ございませんでした。
後の回答の方で,間違いありません。
参考にしながら,Rを使って分析を進めているところです。

ところで,とてもテクニカルな質問で,申し訳ないのですが,
Rで,近似曲線は,どのようにすれば,表示できるのでしょうか?

例えば,
>plot(imm~ret,data=retraite)
で表示された図の中に,

> summary(lm(imm~log(ret),weight=nom,data=pension))
で算出された対数近似曲線や,

> summary(lm(imm~poly(ret,2),weight=nom,data=pention))
で算出された多項式回帰曲線を表示したいのですが,
そのコマンドがわかりません。

線形近似曲線を表示させる,
> abline(lm(imm~ret,weight=nom,data=pension))
のようなコマンドは,ないのでしょうか?

Rのホームページなどを探しましたが,英語は得意でなく,
わからなかったので,宜しくお願いいたします。

     [このページのトップへ]


60. Re: Rによる近似曲線の表示方法    2003/06/02 (月) 09:18
> > abline(lm(imm~ret,weight=nom,data=pension))
> のようなコマンドは,ないのでしょうか?

コマンドはないと思いますが,coef()等を使って
普通にyhatを計算して,
lines(x,yhat)
で書き足せばOKだと思います。
十分に細かいxであれば,linesで綺麗な曲線になります。

     [このページのトップへ]


● 「統計学関連なんでもあり」の過去ログ--- 025 の目次へジャンプ
● 「統計学関連なんでもあり」の目次へジャンプ
● 直前のページへ戻る