SlideShare ist ein Scribd-Unternehmen logo
1 von 39
データマイニング入門
~Rと統計に触れてみる~
目次
Page:1
0.はじめに
勉強会の対象者
データマイニングで大変なところ
データマイニングの全体像
1.データクレンジング
Rとは
実際にRをつかってみよう
データの読み込み
データの確認
ソートとマージ
データの抽出
条件分岐と繰り返し
データの出力
【応用編】これまでの知識を組み合わせてナンバリングをしてみよう
【応用編】外れ値の抽出
【応用編】データの補完
2.相関分析と単回帰
散布図と相関分析
【コラム】相関係数0の状態って?
その他の相関係数の算出方法
【応用編】単回帰式とその他の回帰式
3.検定
正規分布とは
検定とは
帰無仮説と対立仮説とは?
重要な検定
【応用編】重要な検定
4.重回帰分析
重回帰分析とは
重回帰分析の手順
重回帰式モデルの精度向上方法
重回帰式の評価方法
【応用編】重回帰分析で需要予測
まとめ
APPENDIX
データ解析手法の一覧
記号・関数リスト
勉強会の対象者
• この勉強会の対象者は
 データ分析を始めたいけど何から手をつけていいかわからない人
 データを使って予測をしたい人
 分析業務に役立つ統計知識を身につけたい人
 Rを使った統計解析を始めようとしている人
など、統計学やデータマイニングの
基礎知識を付けたい人を対象にしています。
Page:2
本題に入る前に・・・データマイニングで大変なところ
【データハンドリングの知識】
• データ/集計結果の確認⇒間違っているデータを分析しても無意味
• ITの理解⇒データを正しく扱うためには、端末やサーバーの知識が必要
【統計学の知識】
• 分析手法の使い分け⇒導き出したい結論を得るためにまちがった統計手法を適用しない
• 集計結果の読み取り⇒t値、p値などの言葉を知っていないと読み取れない
【データの背景知識】
• 関連情報の理解⇒データの特性を知らずに分析できない (ex.タイヤの売上データは基本4本ベース)
• 集計結果の理解⇒かき氷は夏に売れるというのは、ファインディングスにならない
Page:3
データマイニングは、「データハンドリングの知識」「統計学の知識」 「データの背景知識」
の3つポイントを抑えることが大事です!!今回の勉強会では、特に
「データハンドリングの知識」「統計学の知識」に力をいれて説明します。
データマイニングの全体象
データマイニングは「データの取得をし、分析ができるようクレンジングをし、分析をして、結果を説明する」ことが大まかな流れです。今回は、
赤枠のステップをR使ってどのように操作をし、実務においてはどのようなところに注意をして進めなければならないのか、という視点から説
明します。
Page:4
正規化されたデータ群 結合されたデータ
ス
テ
ッ
プ
と
デ
ー
タ
の
形
状
デ
ー
タ
操
作
分析に必要な情報を集めます。 集めたデータを結合し、
分析可能な状態にします。
クレンジングしたデータをもとに、
散布図をつくったり、クロス集計や
相関係数などを算出します。
主に、データの読み込
みやマージが中心です
が、データのソートやユ
ニーク化をし、正しく
データを結合します。
<例>
・読み込み
・マージ
・ソート 等
単純集計を行なって、
作成したデータセットに
データ欠損や間違いが
無いか確認します。
<例>
・ナンバリング
・フィルタリング
・単純集計 等
散布図や相関分析で、
変数の関係を調べたり
して、ゴールの見当を
つけます。
<例>
・集計
・散布図作成
・相関分析 等
①データ収集
基礎分析から得られた示唆から
モデルの作成などをします。
分析課題を解決するた
めに、探索的に解析手
法を検討し、モデルの
構築や、解決施策を検
討します。
<例>
・検定
・重回帰分析
・クラスター分析 等
レポート
⑤レポーティング
データマイニングから
得られたモデルやファ
インディングスを、次の
アクションにつなげられ
る資料を作成します。
データから得られたファインディン
グスを図式化します。
②データ整形 ③基礎集計 ④深堀分析
集計されたデータ 分析されたデータ
X
X
X
X
X
X
X
X
X
X
X X
1.データクレンジング
実務において①データ収集と②データ整形をあわせて
データクレンジングと呼びます。
データクレンジングの主な作業は
「読み込みと確認」「結合(マージ)」「整列(ソート)」
「抽出(フィルタリング)」などが挙げられます。
データマイニングを料理に例えると、
下ごしらえにあたる作業がデータクレンジングです。
本章では、これらの作業をRにて実施する場合の
具体的な手法について触れながら、Rに慣れることを
目的とします。
Page:5
■本章の対応箇所
Rとは
Page:6Page:6
無料で使用できる統計解析ソフト。
統計学のあらゆる分析手法に対応しており、
データマイニングの初心者から上級者まで
幅広く利用されている。
【メリット】
・無料なので導入しやすい
・さらに無料の分析パッケージが豊富に用意されている
・Web上にRによる操作説明をしている記事が豊富にある(本もたくさんある)
・学術論文にも多く用いれられ、ソフトウェアの信頼度が高い
・プログラミング言語やソフトウェアとの連携も可能であるため、様々な分析に対応可能
(ビッグデータの分析に用いられることもある)
【デメリット】
・コマンドによるデータ操作になるため、データ分析初心者には若干扱いづらい
(実は簡単で、慣れてしまうととても便利!
たとえば、一行の命令文でたくさんの図表を出力することができる。)
・オンメモリ処理のため、分析できる容量は、端末のメモリ数に制限される
実際にRをつかってみよう
Page:7
1.電卓として使う
実際にRを起動して、電卓として使ってみましょう。
※サンプルデータの読み込み ※CSVデータの読み込みは後述
Rの操作を学習する際には、Rが保有しているデータサンプルを用いることが多いです。今回はirisという花のデータを使用します。
サンプルコマンド
> lunch <- 1000
> transportation <- 200
> lunch + transportation
[1] 1200
解説
変数「lunch」に1000を代入
変数「transportation」に200を代入
「lunch」と「transportation」を足し算
サンプルコマンド
>data(iris)
> head(iris)
解説
サンプルデータirisの読み込み
データフレームirisの先頭表示
データの確認
Page:8
1.データ要素の確認
取り込んだデータに不備が無いか確認を行います。例えば、データに欠損がないか、同じ数値ばかり入っていないか等を調べることが
できます。
2.主要指標の確認
取り込んだデータの各変数ごとの平均値や最大値などデータの概要を確認したり、散布図を描くこともできます。(Nullも確認可能)
サンプルコマンド
>table(iris$Sepal.Length,exclude=NULL)
もしくは
>table(iris[,1],exclude=NULL)
解説
変数Sepal.Lengthの数をカウントする。欠損値もカウ
ントする。
1列目(Sepal.Length)の数をカウントする。欠損値もカ
ウントする。
サンプルコマンド
>summary(iris)
>plot(iris)
解説
irisの各変数の統計量の確認
irisの各変数の散布図の確認
ソートとマージ
Page:9
1.ソート
データの並び替えを行います。一般的に、マージをする前に結合キーでソートをかけておくと、処理時間が早くなることがあります。
(Excelのvlookupなどもソートをしておくと、早く結果が表示されます。)
2.マージ
データの結合を行います。なお、Rではマージをする前に、ソートをする必要はありません。(SASはマージする前にソートが必要)
※降順にする際は、order関数内に decresing = Tを追記。
サンプルコマンド
>sortlist <- order(iris$Sepal.Length)
>ndf <- iris[sortlist,]
解説
データフレームirisの変数Sepal.Lengthで昇順
新しいデータフレームndfにSepal.Length順に並んだdf
を格納
サンプルコマンド
>merge(iris,df,by=“Species” , all=T)
解説
データフレームirisとdfをIDをキーにして結合する。な
お、片方にのみ含まれるデータも含む。
データの抽出
Page:10
1.行別の操作<条件に応じて、行別の操作を行う>
条件に当てはまる行に応じて、データ操作を行うことができます。
2.行の抽出<条件に応じた行のみ抽出する>
条件に当てはまる行の抽出を行う際の操作方法は下記の通りです。
サンプルコマンド
> ifelse(iris$Sepal.Length>0, iris$flg=1, iris$flg=0)
解説
変数Sepal.Lengthが0超の時、flgは1、0以下の時flgは
0。
サンプルコマンド
>flt <- (iris$Sepal.Length > 0)
>df[flt,]
解説
変数Sepal.Lengthが0超であるか、行ごとにフラグをた
てて、fltに格納。
変数numが0超である行のみを表示。
条件分岐と繰り返し
Page:11
1.for文の操作<繰り返し>
繰り返し操作を行う際に用いるコマンドです。
2.If文の操作<条件分岐>
データの条件に応じて、操作を変えるコマンドです。
※この場合、If文に入る前にxに1が代入されているので、①の式が適用されます。
サンプルコマンド
> x <- 0
>for(i in 1:15) {
+ x <- x + 1
+}
解説
変数xに0を代入。
変数iが1から15まで値を増加させるまで繰り返す。
xにx+1を代入
サンプルコマンド
>x <- 1
>if(x > 0){
+ x + 1
+ } else{
+ x + 2
+}
解説
xに1を代入
「xが0超のとき」(条件式)に条件分岐し次の式を適用
xに+1を加算・・・・・・①
条件式とマッチしないときに、次の式を適用
xに+2を加算・・・・・・②
If文を終了
※elseを次の行に書くと、前のif文と連携しないので注意が必要です。
データの読み込み
Page:12
1.CSVファイルの読み込み
数値がカンマで区切られているテキストファイルの読み込みを行います。データの読み込みには複数のコマンドが存在しており、
状況に応じて、コマンドを使い分けることができます。
※クリップボードからのデータの読み込み<Windowsのみ>
少量のデータを取り込む時に使えます。エクセルからデータを取り込む時などに便利です。
サンプルコマンド
> df <- read.csv(“sample.csv” ,header=T)
もしくは
> df <- read.table(“sample.csv” ,header=T,
+ sep=“,”)
解説
sample.csvをCSVとして読み込む。1行目は変数名。
sample.csvをtableとして読み込む。1行目は変数名。
列の区切りはカンマ。
サンプルコマンド
> df <- read.table(“clipboard”,header=T)
解説
コピーで選択されている範囲を取り込む。
データの出力
Page:13
1.ワークスペースの保存
R上で作業したコマンドや、データフレームなどを保存することができます。
2.データフレームの保存(CSVへの出力)
加工したデータをExcel上でグラフ化したい場合などに、データをCSVで出力することが可能です。
操作方法
メニュー「ファイル」→「作業スペースの保存」
サンプルコマンド
> write.csv(df, “df.csv”)
解説
データフレームdfをdf.csvとして保存
※保存先は作業ディレクトリ
【応用編】これまでの知識を組み合わせてナンバリングをしてみよう
#データの読み込み
id <- c(1,1,2,3,4,5,6,7,8,9,10)
num <- c(45,55,4,4,52,26,58,654,5,1,23)
df1 <- data.frame(ID = id , NUM =num )
#IDについてn-1レコードとnレコードとの比較をする。
ary[1] <- 1
for(i in 2:length(df1$ID)){
if(df1[i-1,1] == df1[i,1]){
ary[i] <- ary[i-1] + 1
}else{
ary[i]<-1
}
}
#ナンバリングした変数を追加する。
df2 <- cbind(df1,ary)
Page:14
ID ary
1 1
1 2
2 1
3 1
… …
10 1
i-1
i
for文とif文の操作(ネスティング)
が
増
え
る
ご
と
に
1
レ
コ
ー
ド
ず
つ
下
に
下
る
i
If文の条件式は左下の図と対応しています。
該当行と、該当行の1一行下のIDを比較し、
同じであれば、aryの数1つ増やし、異なってい
れば、“1”を付与します。
ナンバリングは、特定顧客の来店頻度を数えるときに行う作業で、
RFM分析では必須の作業です。
ナンバリングを行うアルゴリズムは、for文とif文を組み合わせて実施
できます。これをネスティングといい、プログラムを構築する際に使うこ
とが多いため、上達するうえで覚えておきたい操作です。
※RFM分析とは
R=recency, F=frequency M=monetary の略で、
顧客構造を把握するためによく用いれられる分析です。
【応用編】外れ値の抽出
Page:15
外れ値とは他の値から大きく外れた値のことです。1レコードだけでも、他のレコードと値が異なっており、平均値などに
大きく影響を及ぼす数値のことを指します。データ入力の打ち間違い等によるエラーデータである場合もありますが、実
際に真の値である場合もあり、必ずしも除外すべきデータとは限りません。ただし、サンプリングをしたためにデータが少
ない場合などについては、外れ値を除いた方が、データから分析すべき項目の傾向や特徴をつかみやすくなります。
外れ値を除く方法は様々な方法がありますが、実務において、外れ値を除く方法は大きく2つあります。
方法1.散布図から除外
データをグラフ化すると、
他の値とあまりにも外れている値を
発見することができます。
方法2.2シグマ外を除外する
正規分布に従う変数は、平均値から±2σ(標準偏差)の範囲内に収まる
確率は約95%です。この値の外の値をとるものは5%に満たないため、
統計的に外れ値として扱うことができます。
※正規分布、シグマの詳細については後述。
平均-σ-2σ +2σ+1σ
ピンク色の部分
に収まる確率
は95%
正規分布
2 4 6 8 10
2468101214
x
y
グラフにすると、
外れ値が視覚
的に分かる。
散布図
【応用編】欠損データの処理の仕方
Page:16
データには、何らかの理由で値が記入されずに欠損値となってしまう場合があります。
欠損値は、外れ値と同様にデータを分析する際に影響を及ぼすことがあるため補完して分析することを推奨します。
なお、分析するソフトウェアによって欠損値の扱い方が異なってくることもあり、注意して扱うことが必要です。
方法1.同じ値(近い)をもつものを採用
例えば、体重と身長を変数にもつデータがあり、
1レコードだけ、体重に欠損値のものがあったとする。
欠損値を持つデータの身長が同じもの
方法2.欠損しているデータを破棄する
データ量が多いときには、
1レコード削除しても影響が少ない場合があるため、
欠損値を全て削除してしまう方法もあります。
Rでは、一つの関数で処理することが可能です。
170 172 174 176 178 180
5556575859606162
height
weight
例えば、172cmで体重が欠損値であった場
合に、同じ172cmで58kgのデータ同じ、
58kgを設定する。
サンプルコマンド
> na.omit(df)
2.相関分析と単回帰
データクレンジングを終えると分析の作業に入りますが、
いきなり深堀り分析はせずに、まずはデータの概要を
把握します。
具体的にはデータを構成する変数の関係性を明らかに
することから始まることが多いです。その際には、散布
図が多いに役立ちます。
その散布図の散らばり方を数字で把握できるのが、
相関係数です。単回帰分析をすると、散布図の直線化
して、2つの事象の傾向を抽出できます。
本章では、データの全体象をつかむ上で重要な、
相関係数の数値の読み解きかたと、
単回帰の扱い方について説明します。
Page:17
■本章の対応箇所
散布図と相関分析
Page:18
2つの変数の相互関係は散布図にすると、視覚的に把握できます。
また、すべての点との誤差の合計が最小距離となる直線を単回帰直線と呼びます。(詳細は後述)
相関係数は0.51 単回帰直線
体重=0.8×身長-60
サンプルコマンド
>plot(df$身長,df$体重)
>result <- lm(df$体重~df$身長,data=df)
>abline(result , lwd=1 , col="blue")
> cor(df$身長,df$体重)
解説
dfの身長をx軸、体重をy軸としてプロット
体重と身長で単回帰分析をし、resultに格納。
単回帰式を線の太さ1、青色で描写。
身長と体重の相関係数を計算。
【コラム】 相関係数0の状態って?
Page:19
相関係数は、散布図が右肩上がりの状態になると+1、右方下がりの状態になると-1となり
その絶対値が大きくなるほど、散布図は直線的になります。
では、相関係数が0の状態はどういった場合が考えられるでしょうか。
いろいろな散布図と相関係数
相関係数が0の場合は、全体的にバラバラに散っている状態(1行目の中央)の場合がありますが、
3行目のように、規則性を持っている場合でも、相関は0になります。
出典:Wikipedia
このデータを左と右で分けると、相関係数が0とならない。実務
の現場においても、フィルタリングを行うと、相関が出る場合も
あるので、散布図で、データの状態を確認することが重要。
その他の相関係数の算出方法
Page:20
これまで紹介した、相関分析(ピアソンの積率相関係数)は分析対象とする変数がともに間隔尺度である場合のみに適用可能です。
一方、例えばアンケートデータなどで取得した順位尺度にて相関分析を行う場合には、次のスピアマンの順位相関係数を使います。
1.スピアマンの順位相関係数の算出方法
相関係数(ピアソンの積率相関係数)と同様にcor関数を用います。
スピアマンの順位相関係数は引数に、 method=“spearman”を追記すると計算ができます。
2.ケンドールの順位相関係数の算出方法
他の相関係数の算出の手法としてケンドールの順位相関係数がありますが、算出方法は同様に引数に追加するだけで可能です。
サンプルコマンド
> cor(df$色の好み,df$味の好み,
+ method="spearman")
解説
「色の好み」順と「味の好み順」をスピアマンの
順位相関係数で算出する。
サンプルコマンド
> cor(df$色の好み,df$味の好み,
+ method=" kendall ")
解説
「色の好み」順と「味の好み順」をケンドールの
順位相関係数で算出する。
単回帰式は前述の通り、全ての点と、単回帰式との誤差が最小になるような直線のことです。
なお、直線以外の回帰式を非線形回帰式と呼び、例えば広告費用と認知度の関係などを説明する際に用いられることがあります。
1.回帰式を算出する仕組み
散布図のすべての点と、ある直線との誤差の総和が最小になるものを、
回帰式と読んでいます。
例えば、左図の「誤差1」+ 「誤差2」+ 「誤差3」の和を最小にします。
なお、重回帰式についても同様の算出方法で計算しています。
重要な考え方として、単回帰式(重回帰式)は、単純に誤差の距離を最小とするもの
を回帰式として採用しているため、計算された回帰式の値の原因を考える際の
ヒントとなります。例えば、広告出稿量に対して、獲得客数で回帰式を算出すると、
偏回帰係数がマイナスの値となるのは、この性質に忠実であるためです。
2.色々な非線形回帰式
非線形回帰式の形状を覚えておくと、ある散布図の近似式を作成する効率が上がります。
下記は、あくまでも形状の一例となります。
【応用編】単回帰式とその他の回帰式
Page:21
誤差1
誤差2
誤差3
累乗モデル
指数モデル
※指数モデルの方が値の上がり方が鋭い
漸近指数モデル ロジスティックモデル多項式回帰
3.検定
検定は、実務で多く使わることがありませんが、t値やp
値といった統計解析の用語を理解する上で非常に重要
な項目です。後述する重回帰分析などの統計解析を理
解する上で避けては通れません。
本章では、統計学で頻出のワードの解説を行った上で、
簡単な統計分析の方法と、検定結果の読み解き方につ
いて説明します。
Page:22
■本章の対応箇所
○正規分布
正規分布は統計学で最も重要な分布です。自然現象や社会現象の多くの確率現象を説明するために利用されます。
○平均と分散
上記のように、正規分布だけでなく多くの分布が、平均と分散で、確率現象を説明できます。
そのため、あらゆる変数の平均と分散の2点を把握することが重要です。
・平均(𝜇) = すべての要素の和 / 要素の数
・分散(𝜎2
) = (各要素 – 平均)の2乗の和 / (要素の数 – 1)
※その他の分布の形状を把握する値
・中央値 = 全ての要素を並べた時に、ちょうど真ん中にある値。(要素の数が偶数のときは、真ん中の両隣を足して2で割った数)
・最頻値 = 全ての要素の中で最も頻度が高い値
例えば、(1,1,1,10,10)といった分布があった場合、平均値は6、分散は8.4、中央値は1、最頻値は1となる。
正規分布とは
Page:23
X
f(x)
9 10 11 12 13 14 15
0.00.10.20.30.4
x
normal2
f x =
1
2𝜋𝜎2
𝑒
−
(𝑥−𝜇)2
2𝜎2・正規分布
この分布の平均はμ(ミュー)、分散は𝜎2
シグマ2乗 になります。
※参考P17
統計学の基礎を支える学問は確率論です。その確率論の中で、正規分布の考え方が統計解析を行う上で
最も重要な知識となります。
検定とは
Page:24
ある主張が正しいか、誤りであるかを評価するための手法を、検定と呼びます。
言い換えると、検定は確率分布をもとに偶然発生したものか否かを判別する分析となります。
統計学の本で有名な検定にまつわる話
貴族が午後のティータイムを楽しんでいるところ、「ミルクを先にいれたミルクティーか、紅茶を先に入れたミルクティーかを判別できる」
と発言した御婦人がいた。同じ場には、化学者もいて、2つの液体が均等に混ざれば、物質的には同一であるため、
違いがないはずだと否定したが、統計学者フィッシャーは、これを面白がり、婦人が言っていることが正しいか否かを検証した。
【検証方法】
8杯のミルク入り紅茶を、4杯は一方のやり方で、別の4杯はもう一方の方法で紅茶をつくり、ランダムな順序で提示する。
婦人には、それぞれが4杯ずつあることを伝えた上で、その種類と一致するよう4杯ずつ2組に分けるように要求する。
このとき、婦人が見分ける能力が無いとしても、偶然に一致する確率は70回に1回の割合(1.4%)である。
この確率は十分小さいので、婦人が見極められたら、偶然とは言わずに、婦人の能力とする。
検定の手順
検定する際の手順は、下記の通りです。
1.仮説の立案
⇒仮説を立案し、仮説を支持するための検定方法を決める。
2.危険率(t値、p値)の算出
⇒検定を行なって、危険率を算出する。(危険率の詳細は後述)
3 .仮説の採用を検討
⇒算出された危険率を吟味し、仮説の採用と棄却を判断する。
帰無仮説と対立仮説とは?
Page:25
検定による仮説の立証は背理法を用います。手順としては最初に仮設を立てます。棄却したい仮説を帰無仮説と呼び、
支持したい仮説を対立仮説と呼びます。
○仮説の立案
例えば、とあるDMを送るキャンペーンを行った際に、DMを送付したグループAと、DMを送付しなかったグループBで、
購入点数に影響があったかを検証したいときは、
・対立仮説を「DM送付により購入点数が変わった。」
・帰無仮説を「DM送付により購入点数は変わらなかった。」
として、仮説を立案します。
分析には、2つのグループで平均購入点数に差があることを検証できる検定を用います。
○p値、t値とは?
検定では、主にp値を参考に帰無仮説の棄却(対立仮説の採用)を行います。
・p値とは、対立仮説が正しいのに帰無仮説を受容してしまう確率(危険率)です。
なお、t値とは信頼区間の範囲内におけるt分布の面積のこと。
統計学一般では、p値が0.05以下(t値の絶対値が2以上)の場合に、帰無仮説の棄却を行います。
ただし、マーケティングデータにおいては、0.10以下の場合でも帰無仮説を棄却することがあります。
危険率の深堀り
Page:26
帰無仮説を棄却するときに間違ってしまう確率をp値(危険率)といい、この間違いを「第1種の誤り」と呼びます。
また、帰無仮説を間違って棄却しなかった場合を「第2種の誤り」と呼びます。
例は次の通りです。
・インフルエンザの検査結果は陽性だが、本当は単なる風邪であった場合⇒第1種の誤り
・インフルエンザの検査結果は陰性だが、本当はインフルエンザであった場合⇒第2種の誤り
第2種の誤りをしてしまう確率は、母集団のばら付きや、サンプルの数によって変化します。
また、第1種と第2種の誤りはジレンマの関係にあり、片方の精度を上げると、片方の精度が悪化すると言われています。
2つの精度を上げるためには、サンプルの数を増やす方法が有効と言われています。
実際の状態
正 誤
検
査
結
果
陽
性
○ 第1種の誤り
陰
性
第2種の誤り ○
重要な検定(1)
Page:27
検定は、2つの事象に差があるかないかなどを判断するための手法です。検定にもさまざまな種類が豊富にありますが、
ここでは、検定手法のなかでもデータマイニングに重要な「ウェルチの検定」と、「適合度検定」を説明します。
1.二標本の検定について
ウェルチの検定は、二標本の平均の差の有無を調べることができます。
たとえば、グループAとグループBでDMの反応度に差があるのか、ないのかを調べることができます。
サンプルコマンド
>t.test(x,y)
解説
変数xとyでt検定を行う。
サンプルコマンド(結果のサンプル)
Welch Two Sample t-test
data: x and y
t = -1.1881, df = 18.05, p-value = 0.2502
alternative hypothesis:
true difference in means is not equal to 0
95 percent confidence interval:
-16.899451 4.688925
sample estimates:
mean of x mean of y
1.842105 7.947368
解説
ウェルチの方法にてt検定を実施
データはXとy
t値は-1.1881、自由度は18.05、p値は0.2502
対立仮説:
平均の差異は0では無い
95%信頼区間:
-16.899から4.68
各群の標本平均:
xは1.842、yは7.947
#使用したデータ
x <- c(1,1,1,1,1,1,1,1,2,2,2,2,2,2,3,3,3,3,3)
y <- c(4,1,3,1,1,1,5,10,2,3,2,2,2,2,3,3,3,3,100)
重要な検定(2)
Page:28
2.適合度検定について
データマイニングにおける最終的なゴールの一つにモデルの構築が挙げられます。
モデルを構築した際に、「実際の値」と「モデルの理論値」とが対応出来ているか否かを判別します。
サンプルコマンド
>lp <- y/sum(y)
>chisq.test(x,p=lp)
解説
理論確率の算出
適合度検定の実行(観測値はx、
理論確率はyl)
#使用したデータ (サイコロのそれぞれの目の出現確率)
x <- c(99000,98000,93000,103000,107000,100000)
y <- c(100,100,100,100,100,100)
サンプルコマンド(結果のサンプル)
Chi-squared test for given probabilities
data: x
X-squared = 1120, df = 5, p-value < 2.2e-16
解説
与えられた理論確率でカイ二乗検定を実施
対象データはx
カイ二乗値=1120、自由度=5、p値=2.2e-16
4.重回帰分析
データマイニングの手法において、
重回帰分析は最も基礎的な分析手法であり、
実務においても多用されています。
それは、数ある統計解析の手法の中でも予測だけなく、
効果検証や、指標の抽出など、使い道が多用にあるか
らであると思われます。
本章では、重回帰分析のやり方だけでなく、
分析時に出力される各種数値の見方についても
解説します。
Page:29
■本章の対応箇所
重回帰分析とは
Page:30
重回帰分析は多変量解析の分析手法の中で重要かつ、実務に置いても多用されます。
その理由としては、モデル式の分かりやすさと、扱いやすさ、また、予測だけでなく、効果検証もでき、
一つの現象のモデルを数式で捉えられることができるためです。
○重回帰分析の基本
分析の対象となる変数を目的変数(従属変数)とよび、目的変数の変動要因を説明変数(独立変数)で表し、説明変数の係数を偏
回帰係数と呼びます。
○重回帰分析の使い方
重回帰式は、予測モデルとして用いられることが多いですが、実務の現場では、前述のとおり、現象構造の分析にも用いられるこ
とがあります。例えば、説明変数x1とx2を広告出稿金額として、yが顧客獲得数であった場合、偏回帰係数のa1とa2を比べることに
よって、どちらが、顧客獲得数の向上に寄与しているかを把握できます。このように、各々の偏回帰係数を把握することによって、
説明変数がどのように変化すると、目的変数がどのように変化するかが分かります。
※xの単位が異なる場合には、標準回帰係数を用いて比較します。詳細は後述。
【注意】
効果測定をする場合の条件は下記の通りです。
・目的変数と説明変数の関係性に時間差が発生していないこと。
・説明変数の単位に注意して比較すること。(cf 標準偏回帰係数)
・重回帰式のあてはまりと、説明変数のp値を考慮して比較すること。(詳細は後述)
y = 𝑎0 + 𝑎1 𝑥1 + 𝑎2 𝑥2 + ⋯ + 𝑎 𝑛 𝑥 𝑛
重回帰分析の手順
Page:31
重回帰分析の手順
重回帰分析を行う手順は、通常下記の通りです。
1.目的変数と説明変数の検討
⇒目的変数の変動要因となる事象を見極め、説明変数を考慮する。
2.説明変数の相関関係の確認
⇒目的変数と説明変数のそれぞれの相関係数を算出する。算出された相関係数を確認。
特に、説明変数同士で相関係数が強い場合は、説明変数から外すなどの方法を考える。
3.重回帰式の算出
⇒重回帰式の算出方法には、「総当り法」「変数増加法」「変数減少法」「ステップワイズ法」があり、状況に応じて使い分ける。
※特に説明変数が9個くらいである場合には、総当り法を推奨します。
4.重回帰式の評価と採用
⇒得られた重回帰の当てはまりや信頼性を評価をして、採用するモデルを決定する。
※「3.重回帰式の評価」で満足のいく結果が得られなかった場合には、手順1から3を再度行う。
Page:32
重回帰式モデルの精度向上方法
1.目的変数と説明変数の検討
極力少ない説明変数で目的変数を表すことが理想です。重回帰分析に限らず、統計解析の分析においては、
オッカムの剃刀が重要な考え方として、様々な考え方の基本となっています。オッカムの剃刀とは、仮説を立てる際に無
駄なことを省き、極力シンプルにしようという考え方です。特に統計学では、データを増やせば増やすほど、データを説明
することができますが、過去データに過剰に適合しすぎてしまうと、将来の値からずれてしまう可能性があるため
極力、少ないデータで物事を捉えようとします。
2.説明変数の相関関係の確認
重回帰モデルを作成する際の基本は、目的変数と説明変数間の相関係数を把握することです。
なお、説明変数同士で、相関係数が高すぎると、多重共線性(マルチコ)が強くなり、重回帰式が正しく算出されない恐れ
が生じる。例えば、相関が強い変数の内、一つの偏回帰係数が非常に少なく算出されたりする場合や、結果すら算出され
ない場合がある。相関係数が0.9以上の説明変数がある場合には注意が必要。
また、各変数の特性を理解した上で分析を進める必要があります。相関係数が少なくとも、目的変数の特徴を掴む変数
があります。
3.重回帰式の算出
Rでは、単回帰と同様にlm()関数にて、重回帰分析が可能。
サンプルコマンド
>result <- lm(体重~身長+ 肩幅,data=df)
解説
目的変数を体重、説明変数を身長と肩幅として、重回帰分
析を行う。なお、データはdf。
オッカムの剃刀が重要だとは言え、
現場責任者の仮説をないがしろにして、
自分勝手にモデルを作成するのも危険。
マルチコが発生している場合には、
「片方の変数のみを用いる」の他に、
「主成分分析を行なって変数を統合する」
方法もあります。
重回帰式の評価方法
Page:33
4. 重回帰式の評価と採用
算出されたモデルの評価の観点は3点あります。3点すべてを満たすことは難しいため、
利用目的を考え、バランスの良いモデルの構築をすることが重要です。
①過去データとの適合性
⇒重回帰モデル式と、実測値との乖離状況は重決定係数で判別することが多いです。
重決定係数は0から1の間を取る値で、1に近づくほど、当てはまりの良いモデルと言えます。
②モデルの単純性
⇒説明変数の数を増やせば増やすほど、モデルの当てはまりはよくなると言われています。
ただし、前述のとおり、少ない変数で当てはまりの良いモデルが理想とされます。
そのため、説明変数の数を考慮した、当てはまりの良さを「自由度調整済み重決定係数」で評価します。
こちらも0から1の間の数値をとります。
③使用しているデータ(説明変数)の有意性
⇒説明変数ごとの偏回帰係数が0か、0では無いかをp値(もしくはt値)で確認できます。
あまりにも、p値が高い説明変数がある場合には、該当の説明変数採用是非を検討します。
上記の評価を行い、モデルの検討を繰り返し行うことによってモデルを同定します。
※なお、上記のモデルの検討を自動的に行うことができるステップワイズ法という手法がありますが、
変数の意味を捉える事なく、単純にモデルが同定されてしまいます。
そのため、ステップワイズ法を使うときは、データの特徴をつかむ程度にとどめ、最終的なモデルの同定を
行うときは、総当り法でモデルを作成すると良いです。
【応用編】重回帰分析で需要予測
Page:34
No
2 4 6 8 10 2 4 6 8
246810
246810
月次売上
最寄り駅の乗り降り人数
246810
2468 徒歩
2 4 6 8 10 2 4 6 8 10 40 60 80
406080
敷地面積
サンプル
#①データの読み込み
shopdata <- read.csv("shopdata.csv",header=T)
#②データの確認
summary(shopdata)
plot(shopdata) ・・・ 左下の図
#③初回重回帰式の作成
cor(shopdata)
result <- lm(月次売上 ~ 最寄り駅の乗り降り人数 + 徒歩 + 敷地面積 , data = shopdata)
#④重回帰式の決定係数による評価
summary(result)
#⑤分析の再実施
result <- lm(月次売上 ~ 最寄り駅の乗り降り人数 + 敷地面積 , data = shopdata)
#⑥-1重回帰式の決定係数による再評価
summary(result)
#⑥-2予測値と実績値の比較
plot(result$fitted.values, #予測値
shopdata$月次売上, #実績値
asp=1) #アスペクト比
abline(0,1) #傾き1の直線
#⑦-1重回帰式の結果の出力
plot(result)
#1枚目-残差(縦)×予測値(横)
#2枚目-残差のQQプロット ・・・一直線上に並んで入れば、重回帰分析で説明できている
#3枚目-残差の平方根プロット
#4枚目-残差と影響力プロット
#⑦-2予測値の出力
predict(result)
#⑦-3偏回帰係数の出力
a <- coefficients(result)
コンビニの売上を、立地条件から予測するモデルの
構築を試みます。分析のステップは下記の7点です。
①データの読み込み
②データの確認
③初回重回帰式の作成
④重回帰式の評価
⑤重回帰式の改良
⑥改良した重回帰式の評価
⑦重回帰式の結果の抽出
【参考】すべての変数の散布図
まとめ
• Rのまとめ
• Rはあらゆる企業や研究機関で使用され、算出結果の信頼性が高い
• コマンドラインに慣れれば、快適にかつスピーディに解析できる
• 特に複雑な分析でも、様々なパッケージが用意されているので
一行の命令文で重回帰分析などができてしまう
• 分析手法のまとめ
• t値やp値は、統計的に意味(有意差)が有るか無いかの確率を表す
• 仮説を立てる際やモデルを構築する際は、極力無駄なデータを省く
• モデル精度の評価は、適合度と単純性を見ることが重要
• 実務まとめ
• データマイニングでは確認が重要
• いきなり探索的な分析を行わずに基礎分析を行なって概要を把握する
• 深堀り分析を行った後は、モデルの評価をし、ファインディングスの吟味をする
Page:35
APPENDIX
Page:36
データ解析手法の一覧
Page:37
本勉強では、重回帰分析までの紹介だけでしたが、他にも様々な解析手法があります。マーケティングで用いられる
解析の用途は厳密に定められているものではないため、参考程度に活用ください。
解析手法 予測 指標要約
(数値データの作成)
分類 構造化
(関連性の数値化)
備考
重回帰分析 ◎ ○ ◎
予測やデータ構造の表現が得意なモデル。単純なモデルで表現さ
れるので、とても理解しやすいのがメリット。
時系列分析 ◎ ○
季節性などがある売上データや株価を予測する際に用いられるモ
デル。先行指標がなくても予測出来るのがメリット。
主成分分析 ◎
複数あるデータカラムを要約できる分析。重回帰分析などを行う前
に相関が強い複数あるカラムを集約するときや、ポジショニング分
析を行う際に用いられる。
因子分析 ◎ ○
複数あるデータカラムの変動要因(未知の因子)を抽出できる分析。
顧客が気付かない買物動機要因を抽出する際に用いられる。
主成分分析と同様に指標の要約が可能。
クラスター分析 ◎
<教師なし>
複数あるデータを似たもの同士で集落(クラスター)を作ることがで
きる分析。消費者の母集団から特定のターゲットを抽出するときな
どに役立つ。因子分析→クラスター分析と連携させることが多い。
サポートベクターマシン(SVM) ○ ◎
<教師つき>
迷惑メールの分類などに使用されるモデル。算出される過程がブ
ラックボックス化されてしまうが、グループ化の精度が高いと言わ
れている。
決定木分析 ○ ○ ◎
DMやWEBサイトのCVの反応分析など、ある指標に対して、大きな
要因からブレークダウンをして、変動要因を把握できる分析。優良
顧客象の抽出などで用いられることが多い。
アソシエーション分析 ○ ◎
POSデータの分析で用いられる分析。併売されているものを抽出す
ることができる。クーポンや、セット販売、併売割引などの施策検討
時に役立つ。
記号・関数リスト
Page:38
論理記号 意味
<- 代入
= 代入
== 等号
<= ≦
>= ≧
!= ≠
< <
> >
関数 使用例 機能
c c(変数1、変数2、・・・、変数n) ベクトルの指定
getwd getwd 作業ディレクトリの取得
setwd setwd(ディレクトリへのパス) 作業ディレクトリの設定
attach attach(データフレーム)
指定したデータフレームのカラム名を変
数として利用可能
dettach dettach(データフレーム) attachの指定を解除する
subset subset(データフレーム、条件式) 条件式を満たすレコードの抽出
na.omit na.omit(データフレーム) 欠損値の含むレコードの削除
split split(データフレーム,カラム) データフレームの切り分け
data.frame
data.frame(データフレーム1,データフレー
ム2)
変数の結合
merge
merge(データフレーム1,データフレーム2,
by = キーとなるカラム名, all = True)
データフレームのマージ
order order(カラム名) 並び替え
hist hist(カラム名) ヒストグラム
plot plot(カラム名1、カラム名2) 散布図 カラム名1がx軸、2がy軸
barplot barplot(tabele(カラム名)) 棒グラフ
論理記号リスト 関数リスト

Weitere ähnliche Inhalte

Was ist angesagt?

項目反応理論による尺度運用
項目反応理論による尺度運用項目反応理論による尺度運用
項目反応理論による尺度運用Yoshitake Takebayashi
 
DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)Masaru Tokuoka
 
操作変数法の書き方_田淵貴大
操作変数法の書き方_田淵貴大操作変数法の書き方_田淵貴大
操作変数法の書き方_田淵貴大Takahiro Tabuchi
 
第2回DARM勉強会.preacherによるmoderatorの検討
第2回DARM勉強会.preacherによるmoderatorの検討第2回DARM勉強会.preacherによるmoderatorの検討
第2回DARM勉強会.preacherによるmoderatorの検討Masaru Tokuoka
 
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展Shiga University, RIKEN
 
ロジスティック回帰分析の書き方
ロジスティック回帰分析の書き方ロジスティック回帰分析の書き方
ロジスティック回帰分析の書き方Sayuri Shimizu
 
統計的検定と例数設計の基礎
統計的検定と例数設計の基礎統計的検定と例数設計の基礎
統計的検定と例数設計の基礎Senshu University
 

Was ist angesagt? (9)

第2回DARM勉強会
第2回DARM勉強会第2回DARM勉強会
第2回DARM勉強会
 
項目反応理論による尺度運用
項目反応理論による尺度運用項目反応理論による尺度運用
項目反応理論による尺度運用
 
因果推論の基礎
因果推論の基礎因果推論の基礎
因果推論の基礎
 
DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)DARM勉強会第3回 (missing data analysis)
DARM勉強会第3回 (missing data analysis)
 
操作変数法の書き方_田淵貴大
操作変数法の書き方_田淵貴大操作変数法の書き方_田淵貴大
操作変数法の書き方_田淵貴大
 
第2回DARM勉強会.preacherによるmoderatorの検討
第2回DARM勉強会.preacherによるmoderatorの検討第2回DARM勉強会.preacherによるmoderatorの検討
第2回DARM勉強会.preacherによるmoderatorの検討
 
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
構造方程式モデルによる因果推論: 因果構造探索に関する最近の発展
 
ロジスティック回帰分析の書き方
ロジスティック回帰分析の書き方ロジスティック回帰分析の書き方
ロジスティック回帰分析の書き方
 
統計的検定と例数設計の基礎
統計的検定と例数設計の基礎統計的検定と例数設計の基礎
統計的検定と例数設計の基礎
 

Andere mochten auch

統計学の基礎の基礎
統計学の基礎の基礎統計学の基礎の基礎
統計学の基礎の基礎Ken'ichi Matsui
 
単語・句の分散表現の学習
単語・句の分散表現の学習単語・句の分散表現の学習
単語・句の分散表現の学習Naoaki Okazaki
 
リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計Mikiya Okuno
 
単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展Naoaki Okazaki
 
ABテスト・LPOのための統計学【社内向けサディスティックエディション】データアーティスト株式会社
ABテスト・LPOのための統計学【社内向けサディスティックエディション】データアーティスト株式会社ABテスト・LPOのための統計学【社内向けサディスティックエディション】データアーティスト株式会社
ABテスト・LPOのための統計学【社内向けサディスティックエディション】データアーティスト株式会社Satoru Yamamoto
 
DeNAの大規模データマイニング活用したサービス開発
DeNAの大規模データマイニング活用したサービス開発DeNAの大規模データマイニング活用したサービス開発
DeNAの大規模データマイニング活用したサービス開発Koichi Hamada
 
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理Ken'ichi Matsui
 
NIPS2015読み会: Ladder Networks
NIPS2015読み会: Ladder NetworksNIPS2015読み会: Ladder Networks
NIPS2015読み会: Ladder NetworksEiichi Matsumoto
 

Andere mochten auch (10)

統計学の基礎の基礎
統計学の基礎の基礎統計学の基礎の基礎
統計学の基礎の基礎
 
単語・句の分散表現の学習
単語・句の分散表現の学習単語・句の分散表現の学習
単語・句の分散表現の学習
 
リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計リレーショナルな正しいデータベース設計
リレーショナルな正しいデータベース設計
 
単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展単語の分散表現と構成性の計算モデルの発展
単語の分散表現と構成性の計算モデルの発展
 
ABテスト・LPOのための統計学【社内向けサディスティックエディション】データアーティスト株式会社
ABテスト・LPOのための統計学【社内向けサディスティックエディション】データアーティスト株式会社ABテスト・LPOのための統計学【社内向けサディスティックエディション】データアーティスト株式会社
ABテスト・LPOのための統計学【社内向けサディスティックエディション】データアーティスト株式会社
 
DeNAの大規模データマイニング活用したサービス開発
DeNAの大規模データマイニング活用したサービス開発DeNAの大規模データマイニング活用したサービス開発
DeNAの大規模データマイニング活用したサービス開発
 
企業における統計学入門
企業における統計学入門企業における統計学入門
企業における統計学入門
 
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
基礎からのベイズ統計学 輪読会資料 第1章 確率に関するベイズの定理
 
NIPS2015読み会: Ladder Networks
NIPS2015読み会: Ladder NetworksNIPS2015読み会: Ladder Networks
NIPS2015読み会: Ladder Networks
 
はじめての「R」
はじめての「R」はじめての「R」
はじめての「R」
 

Ähnlich wie データマイニング入門

[Tokyor08] Rによるデータサイエンス 第2部 第3章 対応分析
[Tokyor08] Rによるデータサイエンス第2部 第3章 対応分析[Tokyor08] Rによるデータサイエンス第2部 第3章 対応分析
[Tokyor08] Rによるデータサイエンス 第2部 第3章 対応分析Yohei Sato
 
Fumitot ver.2.3
Fumitot ver.2.3Fumitot ver.2.3
Fumitot ver.2.3FumitoT
 
内容的妥当性,構造的妥当性と仮説検定の評価
内容的妥当性,構造的妥当性と仮説検定の評価内容的妥当性,構造的妥当性と仮説検定の評価
内容的妥当性,構造的妥当性と仮説検定の評価Yoshitake Takebayashi
 
統計学における相関分析と仮説検定の基本的な考え方とその実践
統計学における相関分析と仮説検定の基本的な考え方とその実践統計学における相関分析と仮説検定の基本的な考え方とその実践
統計学における相関分析と仮説検定の基本的な考え方とその実践id774
 
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項tomitomi3 tomitomi3
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうSayaka Nakano
 
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17horihorio
 
20230610ビジネス実務学会_基調講演.pdf
20230610ビジネス実務学会_基調講演.pdf20230610ビジネス実務学会_基調講演.pdf
20230610ビジネス実務学会_基調講演.pdf東京工業大学
 

Ähnlich wie データマイニング入門 (8)

[Tokyor08] Rによるデータサイエンス 第2部 第3章 対応分析
[Tokyor08] Rによるデータサイエンス第2部 第3章 対応分析[Tokyor08] Rによるデータサイエンス第2部 第3章 対応分析
[Tokyor08] Rによるデータサイエンス 第2部 第3章 対応分析
 
Fumitot ver.2.3
Fumitot ver.2.3Fumitot ver.2.3
Fumitot ver.2.3
 
内容的妥当性,構造的妥当性と仮説検定の評価
内容的妥当性,構造的妥当性と仮説検定の評価内容的妥当性,構造的妥当性と仮説検定の評価
内容的妥当性,構造的妥当性と仮説検定の評価
 
統計学における相関分析と仮説検定の基本的な考え方とその実践
統計学における相関分析と仮説検定の基本的な考え方とその実践統計学における相関分析と仮説検定の基本的な考え方とその実践
統計学における相関分析と仮説検定の基本的な考え方とその実践
 
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
第7回 KAIM 金沢人工知能勉強会 回帰分析と使う上での注意事項
 
テストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おうテストアプローチにデータ分析を使おう
テストアプローチにデータ分析を使おう
 
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17
 
20230610ビジネス実務学会_基調講演.pdf
20230610ビジネス実務学会_基調講演.pdf20230610ビジネス実務学会_基調講演.pdf
20230610ビジネス実務学会_基調講演.pdf
 

データマイニング入門