差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
mselab:2012:stat:week2 [2012/10/23 09:48] – created watalu | mselab:2012:stat:week2 [不明な日付] (現在) – 外部編集 (不明な日付) 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
=== 概要 === | === 概要 === | ||
- | 今週は | + | 今週の実験の内容は |
- | * (「多変量解析」で学んだ人もいると思われる)回帰分析を用いたデータマイニング | + | * 回帰分析を用いたデータマイニング |
- | が内容で、そのために | + | である。3週間の流れがデータ分析(第1週)を行って、回帰分析によるモデル構築(第2週)、そして第3週の他の手法を用いたモデル構築へと繋がるため、今週は[[http:// |
- | * Rコマンダーを用いた回帰分析の2つの課題(準備、練習に相当) | + | * Rコマンダーを用いた回帰分析の2つの課題(自習、練習に相当) |
* 解析データを用いた1つの課題(本番) | * 解析データを用いた1つの課題(本番) | ||
に取り組んで貰う。 | に取り組んで貰う。 | ||
+ | |||
+ | === 実験の流れ === | ||
+ | |||
+ | - 配付資料とRコマンダーを照らし合わせながら、出力される情報のどれが配付資料のどれに対応するのかを把握する | ||
+ | * 回帰係数の推定値: | ||
+ | * 切片: Intercept | ||
+ | * 寄与率: R-Squared | ||
+ | * 自由度調整済み寄与率 | ||
+ | * てこ比 | ||
+ | * 標準化残差 | ||
+ | * 変数増減法 | ||
+ | - 保険データの回帰分析、に取り組む (保険データの回帰分析) | ||
+ | - 回帰係数の推定 | ||
+ | - 分散分析によるモデルの有意性の検討や回帰係数の有意性の検討 | ||
+ | - てこ比や標準化残差などの検討 | ||
+ | - 変数の増減 | ||
+ | - 以上を繰り返す | ||
+ | - 回帰分析の結果に基づいて、訪問する顧客層を絞り込む (訪問ルールの作成) | ||
+ | - 必要に応じて、保険データの回帰分析と訪問ルールの作成を繰り返す | ||
+ | |||
+ | |||
+ | |||
=== データの説明 === | === データの説明 === | ||
== TIC2000 == | == TIC2000 == | ||
行 166: | 行 188: | ||
== 概要 == | == 概要 == | ||
- | * 重回帰分析を用いて、ある保険商品の契約に関する予測式を構築せよ。 | + | * TICデータは、V65からV85までが21種類の保険商品の契約件数である。実験ペアのどちらかの学籍番号の末尾1桁を用いて、分析対象とする保険商品を決めよ。 |
- | == 準備 == | + | |学籍番号の末尾1桁|解析する保険商品| |
+ | |0|V75| | ||
+ | |1|V76| | ||
+ | |2|V77| | ||
+ | |3|V78| | ||
+ | |4|V79| | ||
+ | |5|V80| | ||
+ | |6|V81| | ||
+ | |7|V82| | ||
+ | |8|V83| | ||
+ | |9|V84| | ||
+ | |||
+ | * 重回帰分析を行い、分析結果を考察せよ。 | ||
+ | * 重回帰分析の結果を用いて、指定された保険商品の契約に関する予測式を構築せよ。 | ||
+ | * 線形モデルと重回帰分析を用いて、このデータをデータマイニングすることについて、考察せよ。 | ||
+ | |||
+ | === 実験準備 === | ||
+ | |||
+ | この課題ではMASSライブラリのみ、使う可能性がある。 | ||
< | < | ||
行 174: | 行 214: | ||
</ | </ | ||
- | この課題ではMASSライブラリのみ、使う可能性がある。 | + | 1つ目のデータは、Rに次の命令を実行させておく。 |
+ | < | ||
+ | x <- c(2.2, | ||
+ | y <- c(71, | ||
+ | data.1 <- data.frame(x=x, | ||
+ | rm(x,y) | ||
+ | </ | ||
- | == データの読み込み | + | 2つ目のデータは、Rに次の命令を実行させておく。 |
+ | < | ||
+ | x1 <- c(51, | ||
+ | x2 <- c(16, | ||
+ | y <- c(3.0, | ||
+ | data.2 <- data.frame(x1=x1, | ||
+ | rm(x1, | ||
+ | </ | ||
+ | 演習で用いる保険データは、Rに次の命令を実行させておく。 | ||
< | < | ||
- | tic.leaan <- read.table(" | + | Sys.setenv(" |
+ | tic.learn <- read.table(" | ||
tic.eval <- read.table(" | tic.eval <- read.table(" | ||
tic.test <- read.table(" | tic.test <- read.table(" | ||
行 187: | 行 242: | ||
</ | </ | ||
+ | あとはRコマンダーで、data.1、data.2、tic.learnそれぞれについて、回帰分析を進める。 | ||
+ | |||
+ | < | ||
+ | library(Rcmdr) | ||
+ | </ | ||
+ | |||
+ | === Rコマンダーで回帰分析をする際に用いるメニュー === | ||
+ | |||
+ | Rコマンダーでの回帰分析の手順は、次の通り。 | ||
+ | |||
+ | < | ||
+ | [統計量] -> [モデルへの適合] | ||
+ | [モデル] -> [モデルを要約] | ||
+ | [モデル] -> [逐次モデル選択] | ||
+ | [モデル] -> [部分モデル選択] | ||
+ | [モデル] -> [仮説検定] -> [分散分析] | ||
+ | [モデル] -> [グラフ] -> [基本的診断プロット] | ||
+ | [モデル] -> [グラフ] -> [影響プロット] | ||
+ | </ | ||
+ | |||
+ | この手順で分析を進めながら、参考資料の解析ストーリーと対比させよ。 | ||
+ | 「モデル選択」は、添付の資料に従うなら、変数増減法だが、その他のことも考えてよいし、 | ||
+ | 必ずしも選択されたモデルが最適であることもないので、少し変えても構わない。 | ||
+ | === レポート === | ||
+ | |||
+ | レポート提出要領: | ||
+ | |||
+ | ^項目^指定^ | ||
+ | |提出期限|実験実施の翌週の火曜日の午前10時30分まで| | ||
+ | |提出方法|電子メールに添付 (宛先は配付資料に記載)| | ||
+ | |ファイル形式|Wordファイル (LaTeXで作成する場合は、dvipdfmxでPDFに変換すること)| | ||
+ | |メールの件名|統計工学実験2レポート提出(XXXXXXX)| | ||
+ | |レポートファイルの名称|統計工学実験2_XXXXXXX.doc あるいは 統計工学実験2_XXXXXXX.docx| | ||
+ | |提出部数|レポートは各自1通ずつ。{{: | ||
+ | |||
+ | === 参考文献 === | ||
+ | |||
+ | * 永田・棟近 (2001) [[http:// | ||
+ | |||
+ | === サポート欄 === | ||
+ | |||
+ | * data.2のyがひとつ足りなかったのを、追加しました。(1122a) | ||
+ | * tic.learnというデータ名をtic.leaanとミスタイプしていたのを修正しました。(1122a) | ||
+ | * インターネットに繋がらないパソコンを使っている人は、TAさんから次の2つのファイルを貰ってください。(1122a) | ||
+ | * このWikiページのPDFファイル | ||
+ | * ticdata2000.txt | ||
+ | * 回帰分析の結果から標準化残差とテコ比の散布図を描くとき、配布資料では残差を標準化するのに、「残差の平方和を残差の自由度で割ったもの」を誤差分散の推定値としますが、Rでは「残差の標本分散」を誤差分散の推定値としています。第5章の例題では、それぞれ「残差平方和/ | ||
+ | * V1は使わないのがおすすめ。番号の順序に意味がなく、各コードごとの頻度を集計させると、次のようになるため。(0237p) < | ||
+ | > table(tic.learn$V1) | ||
+ | 1 | ||
+ | 124 82 249 52 45 119 44 339 278 165 153 111 179 | ||
+ | | ||
+ | | ||
+ | | ||
+ | 71 205 | ||
+ | </ | ||
+ | * 保険商品ごとに難易度が異なります。V86が一番簡単。 | ||
+ | |||
+ | |V|0|1|2|3|4|5|6| | ||
+ | |V75|5426|382|14| | | | | | ||
+ | |V76|5529|173|100|11|8|1| | | ||
+ | |V77|5791|31| | | | | | | ||
+ | |V78|5784|38| | | | | | | ||
+ | |V79|5799|19|4| | | | | | ||
+ | |V80|2666|3017|126|7|3|2|1| | ||
+ | |V81|5819|3| | | | | | | ||
+ | |V82|5789|31|2| | | | | | ||
+ | |V83|5675|111|34|2| | | | | ||
+ | |V84|5777|44|1| | | | | | ||
+ | |||
+ | === 参考 === | ||
== 少し加工する == | == 少し加工する == | ||
行 209: | 行 335: | ||
< | < | ||
- | (tic.eval$V47>5.5 & tic.eval$V44<1) | (tic.eval$V47>5.5 & (tic.eval$V1==1 |tic.eval$V1==3 | tic.eval$V1==6 | tic.eval$V1==8 | tic.eval$V1==12 | tic.eval$V1==20) ) | + | (tic.learn$V47>5.5 & tic.learn$V44<1) | (tic.learn$V47>5.5 & (tic.learn$V1==1 |tic.learn$V1==3 | tic.learn$V1==6 | tic.learn$V1==8 | tic.learn$V1==12 | tic.learn$V1==20) ) |
</ | </ | ||
行 217: | 行 343: | ||
< | < | ||
- | tic.eval.visit <- (tic.eval$V47>5.5 & tic.eval$V44<1) | (tic.eval$V47>5.5 & (tic.eval$V1==1 |tic.eval$V1==3 | tic.eval$V1==6 | tic.eval$V1==8 | tic.eval$V1==12 | tic.eval$V1==20) ) | + | tic.learn.visit <- (tic.learn$V47>5.5 & tic.learn$V44<1) | (tic.learn$V47>5.5 & (tic.learn$V1==1 |tic.learn$V1==3 | tic.learn$V1==6 | tic.learn$V1==8 | tic.learn$V1==12 | tic.learn$V1==20) ) |
</ | </ | ||
行 224: | 行 350: | ||
< | < | ||
- | table(tic.eval.visit) | + | table(tic.learn.visit) |
FALSE TRUE | FALSE TRUE | ||
| | ||
- | table(tic.eval.visit, tic.eval$V86) | + | table(tic.learn.visit, tic.learn$V86) |
- | tic.eval.visit | + | tic.learn.visit |
FALSE 2878 151 | FALSE 2878 151 | ||
| | ||
行 260: | 行 386: | ||
このモデルに予測に基づいた訪問の成果を検証するには、訪問対象のリストtic.visitと検証用データの正解V86のクロス集計を行えばよい。 | このモデルに予測に基づいた訪問の成果を検証するには、訪問対象のリストtic.visitと検証用データの正解V86のクロス集計を行えばよい。 | ||
+ | V86の保険商品が分析対象の場合は、 | ||
< | < | ||
行 329: | 行 456: | ||
V61+V62+V63+V64, | V61+V62+V63+V64, | ||
</ | </ | ||
- |