差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
mselab:2016:stat:week1 [2016/11/01 11:58] watalumselab:2016:stat:week1 [2017/10/31 12:30] (現在) watalu
行 28: 行 28:
 このような考えの進め方にPPDACが適しているので、この実験はこれに基づいて設計した。他にも科学的探求の方法、と呼ばれるアプローチ(サイクル、取り組み方、進め方、ステップなど)は様々あるので、興味のある人は調べてみるといい。 このような考えの進め方にPPDACが適しているので、この実験はこれに基づいて設計した。他にも科学的探求の方法、と呼ばれるアプローチ(サイクル、取り組み方、進め方、ステップなど)は様々あるので、興味のある人は調べてみるといい。
  
-=== 今年度のデータ === 
- 
-[[data:the_insurance_company_benchmark|保険会社の顧客データ]]を用いる。このデータの背景と概要については、リンク先のページを参照のこと。 
- 
-=== 問題の確認 (PPDACのPとP) ==== 
- 
-今年はデータに触れる前に、まずは実験のペア同士で[[data:bank_direct_telemarketing|定期預金の獲得キャンペーンのデータ]]のページを眺めながら、このデータについてディスカッションすること。ディスカッションの目的は次の2つ。 
- 
-  - 86個ある変数について、思いついたことをメモ書きし、状況を整理し、その分類を考えること。(親和図法) 
-  - 86個ある変数のうち、yとある「定期預金獲得」と関係のありそうな変数を事前に検討しておくこと。(連関図法) 
- 
-=== 現状の把握 (PPDACのD) === 
- 
-まずは上で連関図法まで取り組んだ結果を、データから確認する。 
- 
- 
-=== QC7つ道具 === 
- 
-前置きが長くなったが、今回はQC7つ道具の幾つかを用いて、データを解析してもらう。 
-QC7つ道具とは、 
- 
-  - パレート図: 問題の優先順位の決定 (1次元の分析法) 
-  - グラフ: データの図示 
-  - 管理図: 対象の安定性の検討 
-  - チェックシート: データの取得と現状の図示 
-  - ヒストグラム: 分布の検討 
-  - 散布図: 因果関係の分析 
-  - 層別: 問題の細分化、切り分け、掘り下げ 
-  - 特性要因図: メカニズムや因果関係の検討 
- 
-の8種類の手法・道具のセットである。データから事実を把握するための手法および問題を解析するための手法の集まりとして、5学期開講の品質管理でも紹介されている。そしてQCストーリーとの対応関係 
- 
-  - テーマの選定: 問題を絞る 
-  - 現状把握: QC7つ道具の出番 
-  - 解析: QC7つ道具の出番 
-  - 対策: 解析に基づいて対策を講じる 
-  - 効果の確認: 再現性の確認 
-  - 標準化: 他への展開 
-  - 残された課題と今後の進め方: 解決に満足せずに次のPDCAに繋げる 
- 
-から、現状把握と解析でQC7つ道具を精力的に用いることになる。 
  
 ==== 本題 ==== ==== 本題 ====
行 96: 行 55:
 === 最初のステップ === === 最初のステップ ===
  
-新QC7道具うち親和図法と連関図法いて、少し学ぶ +データを分析・解析・マイニング・サイエンスする、あらゆる場合に、データに触れる前に、おおよその中身にいて思いを巡らす。データの全体像を大まかに入れる箱をまずは頭の中用意する、とも言える。心の準備とも言えるが、この段階をきちんと経なと、ビジョンやイメージを持てなくて、容易に迷子になる
- +
-  * [[http://fk-plaza.jp/Solution/solu_nqc7_2.htm|親和図法]] +
-  * [[http://fk-plaza.jp/Solution/solu_nqc7_1.htm|連関図法]]+
  
-その次は、パートナーと[[http://stat.inf.uec.ac.jp/dokuwiki/doku.php?id=data:bank_direct_telemarketing|これだけの情報]]から出発して、ネットを使って情報を収集しながら、このデータについての情報を膨らましつつ、{{:mselab:2014:stat:week1:stat2014-prework-by-n7.xlsx|このExcelファイルの中の問い}}に答えながら、データ解析のためのPPDACの最初のPと2つめのPを進める。ここでの作業は「ブレーンストーミング」とその結果の体系化、なので、相手のいうことを批判してはだめ。+その次は、パートナーと[[data:the_insurance_company_benchmark|これだけの情報]]から出発して、ネットを使って情報を収集しながら、このデータについての情報を膨らましつつ、{{:mselab:2014:stat:week1:stat2014-prework-by-n7.xlsx|このExcelファイルの中の問い}}に答えながら、データ解析のためのPPDACの最初のPと2つめのPを進める。ここでの作業は「ブレーンストーミング」とその結果の体系化、なので、相手のいうことを批判してはだめ。
  
 ここでは、 ここでは、
行 114: 行 70:
 [[mselab:2014:stat:week1:r1:r-introduction|こちら]]をさらっと眺めておくといい。 [[mselab:2014:stat:week1:r1:r-introduction|こちら]]をさらっと眺めておくといい。
  
-=== 以下の流れ (手作業編) ===+ここまでが準備
  
-メモを見ながら、ネットでも調べながら、自分で頑張る。今週はたぶん、それで十分。+==== 実際実験取り組み ==== 
 +=== 事前解析としての変数の理解 ===
  
-=== 下のれ (Rコマンダー) ===+[[data:the_insurance_company_benchmark|保険会社の顧客データ]]を用いる。このデータの背景と概要については、リンク先のページを参照のこと。 
 + 
 +ここでの成果物は、変数の分類表、あるいは特性要因図、あるいは親和図と連関図の2つ、のいずれか。データを解析する前に、変数一覧を眺めて検討することが大事。 
 + 
 +== 問題の確認 (PPDACのPとP) =
 + 
 +今年はデータに触れる前に、まずは実験のペア同士で[[data:the_insurance_company_benchmark|保険会社の顧客データ]]のページを眺めながら、このデータについてディスカッションすること。ディスカッションの目的は次の2つ。 
 + 
 +  - 86個ある変数について、思いついたことをメモ書きし、状況を整理し、その分類を考えること。(親和図法) 
 +  - 86個ある変数のうち、V86とある「CARAVAN」と関係のありそうな変数を事前に検討しておくこと。(連関図法) 
 + 
 +新QC7つ道具のうち、親和図法と連関図法について、少し学ぶ。 
 + 
 +  * [[http://fk-plaza.jp/Solution/solu_nqc7_2.htm|親和図法]] 
 +  * [[http://fk-plaza.jp/Solution/solu_nqc7_1.htm|連関図法]] 
 + 
 +== 現状の把握 (PPDACのD) == 
 + 
 +まずはデータの変数一覧を眺めて相談しながら、V86とどの変数が関係ありそうか、どの変数が関係なさそうか、をExcelなどに変数表をコピーして、表を作って整理する。 
 + 
 +例えば、こんな表。 
 + 
 +| |関係ありそう|どちらとも言えない|関係なさそう| 
 +|変数|V1-V10|V53|V22| 
 + 
 +あるいは、特性要因図を作ってもいい。魚の頭がV86。 
 + 
 +== QC7つ道具 (手法の説明のみ) == 
 + 
 +前置きが長くなったが、今回はQC7つ道具の幾つかを用いて、データを解析してもらう。 
 +QC7つ道具とは、 
 + 
 +  - パレート図: 問題の優先順位の決定 (1次元の分析法) 
 +  - グラフ: データの図示 
 +  - 管理図: 対象の安定性の検討 
 +  - チェックシート: データの取得と現状の図示 
 +  - ヒストグラム: 分布の検討 
 +  - 散布図: 因果関係の分析 
 +  - 層別: 問題の細分化、切り分け、掘りげ 
 +  - 特性要因図: メカニズムや因果関係検討 
 + 
 +の8種類の手法・道具のセットである。データから事実を把握するための手法および問題を解析するための手法の集まりとして、5学期開講の品質管理でも紹介さている。そしてQCストーリーとの対応関係 
 + 
 +  - テーマの選定: 問題を絞る 
 +  - 現状把握: QC7つ道具の出番 
 +  - 解析: QC7つ道具の出番 
 +  - 対策: 解析に基づいて対策を講じる 
 +  - 効果の確認: 再現性の確認 
 +  - 標準化: 他への展開 
 +  - 残された課題と今後の進め方: 解決に満足せずに次のPDCAに繋げる 
 + 
 +から、現状把握と解析でQC7つ道具を精力的に用いることになる。 
 + 
 + 
 +=== EZR(Rコマンダー)を用いたデータの要約 === 
 + 
 +ここでの成果物は、ヒストグラム、箱ひげ図、分割表(クロス集計)、散布図など。
  
 Rコマンダーを使うなら、下記のURLがとても参考になる。 Rコマンダーを使うなら、下記のURLがとても参考になる。
行 140: 行 153:
 |数値による要約|Rコマンダー入門 第3節(p.15)| |数値による要約|Rコマンダー入門 第3節(p.15)|
  
-=== RかRコマンダーを用いて行うこと ===+== RかRコマンダーを用いて行うこと  ==
  
   - 連関図法の結果のデータからの確認。   - 連関図法の結果のデータからの確認。
行 147: 行 160:
   - データを分析しながら連関図法の改訂   - データを分析しながら連関図法の改訂
  
-=== データマイニング ===+=== データマイニング (ここから先は今週は手がけるだけ、次週に本格的に使う) ===
  
 データ解析の手法は、ただ闇雲に用いただけで必要な知識がデータから抽出できるというものではない。様々な手法の、原理、仮定 (前提)、その手法が用いるモデルの構造とパラメータの意味を知り、それぞれの長所と短所を理解した上で 、解析するデータに適切な手法を用いるべきである。そのためには様々な手法を適用する前にまず、データそれ自体の理解が不可欠である。前回はこれを目的として、解析の第一段階としてのデータの理解に努めてもらった。 データ解析の手法は、ただ闇雲に用いただけで必要な知識がデータから抽出できるというものではない。様々な手法の、原理、仮定 (前提)、その手法が用いるモデルの構造とパラメータの意味を知り、それぞれの長所と短所を理解した上で 、解析するデータに適切な手法を用いるべきである。そのためには様々な手法を適用する前にまず、データそれ自体の理解が不可欠である。前回はこれを目的として、解析の第一段階としてのデータの理解に努めてもらった。
行 182: 行 195:
  
 <code> <code>
 +Sys.setenv("http_proxy"="http://130.153.8.16:8080/")
 +tic.learn <- read.table("http://kdd.ics.uci.edu/databases/tic/ticdata2000.txt")
 install.packages(c("MASS", "rpart"), dependencies=TRUE) install.packages(c("MASS", "rpart"), dependencies=TRUE)
 library(MASS) library(MASS)
行 191: 行 206:
  
 だけだが。。。? 上のコードでinstall.packages()がエラーになるときは、[[https://crayon.inf.uec.ac.jp/doku.php?id=r:how_to:internet_proxy|プロキシ]]の設定が必要かもしれない。 だけだが。。。? 上のコードでinstall.packages()がエラーになるときは、[[https://crayon.inf.uec.ac.jp/doku.php?id=r:how_to:internet_proxy|プロキシ]]の設定が必要かもしれない。
- 
-なお、上のコードはデータを 
- 
-<code> 
-bank <- read.table("/Users/Student/Downloads/bank/bank-full.csv", header=T, sep=";") 
-</code> 
- 
-のように読み込んでいることを仮定している。 
  
 === 課題 === === 課題 ===
行 209: 行 216:
  
 <code> <code>
-bank.lda <- lda(V86~., data=tic.learn) +v86.lda <- lda(V86~., data=tic.learn) 
-bank.qda <- lda(V86~., data=tic.learn) +v86.qda <- lda(V86~., data=tic.learn) 
-bank.rpart <- rpart(V86~., data=tic.learn)+v86.rpart <- rpart(V86~., data=tic.learn)
 </code> </code>
  
行 217: 行 224:
  
 <code> <code>
-bank.lda +v86.lda 
-print(bank.lda)+print(v86.lda)
 </code> </code>
  
行 226: 行 233:
  
 <code> <code>
-summary(bank.lda)+summary(v86.lda)
 </code> </code>
  
行 232: 行 239:
  
 <code> <code>
-print(bank.lda) +print(v86.lda) 
-print(bank.qda) +print(v86.qda) 
-print(bank.rpart) +print(v86.rpart) 
-summary(bank.rpart)+summary(v86.rpart)
 </code> </code>
  
行 243: 行 250:
  
 <code> <code>
-plot(bank.lda) +plot(v86.lda) 
-plot(bank.qda) +plot(v86.qda) 
-plot(bank.rpart)+plot(v86.rpart)
 </code> </code>
  
行 251: 行 258:
  
 <code> <code>
-plot(bank.rpart) +plot(v86.rpart) 
-text(bank.rpart)+text(v86.rpart)
 </code> </code>
  
行 259: 行 266:
 <code> <code>
 par(cex=0.7) par(cex=0.7)
-plot(bank.rpart) +plot(v86.rpart) 
-text(bank.rpart)+text(v86.rpart)
 par(cex=1.0) par(cex=1.0)
 </code> </code>
行 270: 行 277:
 <code> <code>
 par(cex=0.7) par(cex=0.7)
-plot(bank.rpart,uniform=T,branch=0.6,margin=0.05) +plot(v86.rpart,uniform=T,branch=0.6,margin=0.05) 
-text(bank.rpart)+text(v86.rpart)
 par(cex=1.0) par(cex=1.0)
 </code> </code>
行 282: 行 289:
 install.packages(c("rpart.plot"), dependencies=TRUE) install.packages(c("rpart.plot"), dependencies=TRUE)
 library(rpart.plot) library(rpart.plot)
-prp(bank.rpart, type=2, extra=2)+prp(v86.rpart, type=2, extra=2)
 </code> </code>
  
行 294: 行 301:
 library(tree) library(tree)
 tree(V86~., data=tic.learn) tree(V86~., data=tic.learn)
-bank.tree <- tree(V86~., data=tic.learn) +v86.tree <- tree(V86~., data=tic.learn) 
-plot(bank.tree) +plot(v86.tree) 
-text(bank.tree)+text(v86.tree)
 </code> </code>