More Related Content
More from IBM Analytics Japan (20)
中古車販売の価格予測モデル(1)
- 1. SPSS Statistics Small TIPS
より効果的にご利用いただくために
1/14
IBM SPSS Statistics Small TIPS
中古車販売の価格予測モデル(1)
~ 欠損値や空白地の多いデータを活用する(IBM SPSS Missing Values) ~
- 2. SPSS Statistics Small TIPS
より効果的にご利用いただくために
2/14
欠損値、空白値を含むデータの分析
with IBM SPSS Missing Values
データに欠損はつきものです。どんなに完璧にシステムを作っても漏れや抜けが出来てしまいます。特にアンケートデータ
には欠損が多いとされ、属性情報ですら全て完璧な回答を得るのは難しいことも多くあります。一般的に古くから統計デー
タとしては、欠損値を含むデータは分析から除外する、つまり1サンプル情報をまるごと“捨ててしまう”という処理をします。
不完全なデータは分析対象に含めないことで、欠損値をデータから排除し、完全なデータのみを集め分析をしてきました。
しかし、実用ベースでデータ分析をする場合、完全なデータばかりを追い求めてもいられないことが多くあります。ビジネス
で使われる顧客データ、医療の現場などで使われる研究データなど様々なデータがある中、欠損値が1箇所にあるからと
いってデータを排除し、代わりのサンプルデータを取るとなると、非常に時間と手間、コストがかかってしまいます。また、欠
損メカニズムによっては、欠損値の発生そのものに偏りがあるため、そのデータを排除することで、サンプルそのものに偏り
が出てしまうという問題もあります。(例えば公平に選ばれたサンプルに対して、年収に関する質問したとします。ある一定
以下の年収の人がその項目を答えたくないと、空欄のまま提出する傾向にあるとします。データ分析をする際そのサンプル
データは不完全だとして排除をし、全体の結果の1つとして、日本の平均年収はXXX万円です、と出たとして、果たしてその
結果に偏りがないと言えるでしょうか?)
また、データマイニングによって、予測値を出したいという場合。例えば商圏データを使って、店舗ごと売上予測をしたり、会
員情報や購買データを使って、顧客一人ひとりがキャンペーンに反応するかしないかを予測したいということがあります。し
かし、統計手法の性質上、予測するために使う変数=独立変数に1つでも欠損があると、予測値を算出できません。
そこで欠損値があっても“一番もっともらしい値でデータを補完することで、今あるデータを使って分析を続行できるようにす
る・欠損データを含むサンプルも分析対象とできるようにする”という考え方が登場し、長く研究されてきました。それが欠損
値処理、欠損値補完という考え方です。
このTIPSではそんな欠損値処理のいくつかの方法について、IBM SPSS Statisticsを使ってどのように行うのかをご紹介し
ます。
- 3. SPSS Statistics Small TIPS
より効果的にご利用いただくために
3/14
0.欠損があるデータのまま予測分析をする
以下の例で使うデータは、中古車12台分のデータです。それぞれに、中古車の価格、走行距離、乗車年数、車検の変数
が数値データとして入っています。中古車の価格については、以前まではベテラン社員の方が、経験と市場価格で価格を
決定していました。
価格を予測したいので、[従属変数]に「価格」を。その他の変数を[独立変数]に投入します。そして、[保存ボタン]で、予測値
と残差の[標準化されていない]にチェックを入れます。これで、予測値と、予測値と実測値の差である残差がデータシートに
出力されるようになります。
しかし、この中古車ショップは走行距離、乗車年数、車検のデータを
使って、中古車の価格を予測するようなモデルを作れないか?と考
えました。そこで数値を予測するための回帰分析を使って、価格を
予測してみることにしました。
分析 >> 回帰] >> 線型 を選択し、回帰分析を行います。
その結果PRE_1とRES_1という変数ができました。PREが予測値で
RESがその残差(実測との差)になります。よい予測ができているよ
うですが、走行距離に欠損値があるため、2と3の中古車だけ、価
格予測が計算されていません。完全なデータが揃わないと価格予
測ができないということです。これでは困ってしまいます。今回は3
変数のうちの1つですが、100も変数があるうち、1つでも欠損して
いれば、予測が出なくなるということです。
しかし持っているデータでなんとか予測ができないのか?というの
が実際のところではないでしょうか。ここで、欠損値処理が役に立つ
ことになります。では実際に欠損値処理をしてみましょう。
- 4. SPSS Statistics Small TIPS
より効果的にご利用いただくために
4/14
1.簡単に欠損値を置換する(平均値・中央値)
はじめに、欠損値補完をしてみます。一番簡単な方法は、平均値や中央値などの統計量を当てはめ、補完する方法です。
変換 >> 欠損値の置き換え
「系列平均」は、その変数の平均値を補完します。「周囲平均値」、および「周囲中央値」は、「周囲の値のスパン」で指定し
た数の前後のデータを使用して、中央値や平均値を算出し、欠損値に補完します。「周囲の値のスパン」が“2”の場合は、
前後2つの計4つのデータを使うことになります。「線型補間」は、欠損値の前の最後の有効値および欠損値の後の最初の
有効値が補間に使用されます。最初の値が1、最後の値が9だとして、ちょうど真ん中にあたるケース値が欠損していたら、
その値は5になります(変数が順番に、1, ×, 9だったら、×には5が入ると予想されるという考え方です)。系列の最初の
ケースまたは最後のケースに欠損値がある場合、欠損値は置換されません。「その点における線型トレンド」では、1 から
n に尺度化されたインデックス変数で回帰されます。欠損値はその予測値で置換されます。
この方法は、時系列データのような、ある一定の規則に
従って、増えたり、減ったりするようなデータの補完に向
いています。
まず、欠損データを含む変数を選択し、「新しい変数」に
投入します。新しい変数名は、「変数名_X」のように自動
で付きますが、変更も可能です。このメニューからは、補
完方法として、「系列平均」「周囲平均値」「周囲中央値」
「線型補間」「その点における線型トレンド」の5つから選
ぶことができます。
- 5. SPSS Statistics Small TIPS
より効果的にご利用いただくために
5/14
これら5つの方法でも、ある程度の変数についてデータ補完ができますが、適さない変数も多いことに気づかれると思いま
す。規則的に並んでいない場合、平均値や中央値はよいかもしれませんが、そのデータに外れ値や異常値が含まれていな
いことが前提になります。また、カテゴリカルデータや「はい・いいえ」などの2値データの場合はどうでしょうか?男性が多い
から、欠損値には男性と入れることや、5段階評価で平均3だから無難に3を入れておくなど、統計量やデータの並び方の
傾向を見ただけの処理法では欠損値をうまく予測しきれません。
欠損値には大きく3つのメカニズムがあります。1つ目はMCARと呼ばれる完全にランダムに起こってしまう欠損。2つ目は
MARと呼ばれる他の変数が原因で発生している欠損(医療の現場で薬の投与の研究をしていて、患者さんが転院してしま
うとそれ以上データが取れなくなって欠損してしまうという時間変数に依存する場合。また、未婚か既婚か聞く質問で女性
が答えにくかったり、特定の年齢層が答えてくれなかったりするのがMARです)。3つ目はNonignorable Missing(無視できな
い欠損)と言い、NMARとも呼ばれますが、欠損した値に依存するというもので、非常に扱いが難しいとされています(年収
の例は、欠損が年収そのものの値に依存するためNMARです)。これらのメカニズムによって、欠損値への対処法が異なり
ます。
そこでIBM SPSS Statisticsでは、より高度な欠損値処理を行えるよう、その他様々な手法をご用意しています。大きく分け
て2つの、「単一代入法」と「多重代入法」です。次にそれら1つ1つをご紹介します。
- 6. SPSS Statistics Small TIPS
より効果的にご利用いただくために
6/14
2.単一代入法
分析] >> 欠損値分析
欠損値分析のダイアログボックス上で、左上の[パターン]から
以下を調べることができます。
• 欠損値のある場所
• 変数ペアが個々のケースで値を欠損する傾向
• データ値が極値かどうか
ここでは、以下の3つを行うことができます
1.欠損データのパターンを示す
2.リストごと、ペアごと、回帰法、または EM (期待値の
最大化) 法といったさまざまな欠損値手法で平均値、標
準偏差、共分散、および相関を推定する。
3.回帰法または EM 法を使用して欠損値に推定値を代
入する
欠損値分析のダイアログボックス上で、左上の[記述統
計]を選ぶと、1 変量統計からは以下がわかります。、
• 非欠損値の数
• 欠損値の数とパーセント
また量的 (スケール) 変数の場合は以下もあわせて出
力されます。
• 平均値
• 標準偏差 (コレスポンデンス/ カテゴリ)
• 極大値と極小値の数
その他不一致のパーセントや、グループのt検定なども
出すことが可能です。変数置換をする前に、こういった
出力から傾向を掴み、適応する手法が本当に適してい
るのかを把握することができます。
- 7. SPSS Statistics Small TIPS
より効果的にご利用いただくために
7/14
単一代入の手法は4つあり、リストごと、ペアごと、回帰法の3つは、ランダムな欠損の場合のMCARに対応しています。
まず、[リストごと]・[ペアごと]で、計算に使う変数の選択方法を指定します。「リストごと」では、完全なケースのみを使用しま
す。いずれかの分析変数に欠損値が含まれている場合、そのケースは計算から除外されます。「ペアごと」を選択すると、
使用する変数ペアの1つが欠損していても、度数、平均、標準偏差は、ペアごとに個別に計算されます。
推定方法にはEM推定と回帰推定の2つがあります。EM推定を行うと、値が完全にランダムに欠損しているかどうか
(MCAR) を検定するための Roderick J. A. Little のカイ 2 乗統計量が、EM 行列の脚注として出力されます。このカイ 2
乗値が 0.05 以下の場合、データは完全にランダムには欠損していないため、EM推定を使うのに適していると言えます。
MCARは手法を選ばないため、EM法も使えます。
MCARの仮定に反するMARの場合は、EM法を使用した
方がよいとされています。EM法は、“欠損値のパターン
は観測データのみに関連する”という仮定に依存してお
り、利用可能な情報を使用して推定値を調整できます。
たとえば、教育と収入の調査において、教育レベルの
低い被験者の方が収入の欠損値が多くなる可能性が
あります。つまり、収入が記録される確率が被験者の
教育のレベルに依存します。この確率は、その教育レ
ベル内の収入ではなく、教育によって異なるため、ラン
ダムなMCARでなくMARとなります。
- 8. SPSS Statistics Small TIPS
より効果的にご利用いただくために
8/14
[変数]ボタンでは、予測される変数と予測に使われる変数を選ぶことができます。
最後に、[EM]・[回帰]ボタンから欠損値に推定値を代入し、データシートに代入値を入れます。
その結果、回帰法、EM法それぞれの手法を使って予測された「走行距離(2,3ケース目)」に値が代入されています。
この結果、新たに得られた欠損のないデータセットで分析を続けることができます。
- 9. SPSS Statistics Small TIPS
より効果的にご利用いただくために
9/14
しかし、ここでも1つの方法だけ使い、本当にその代入が正しいのか?他の方法と比べなくてよいのか?などの単一代入法
への疑問が残ります。さらに、統計や調査に詳しい方はともかく、「MCARだ、MAR、NMARだと言っても良くわからないので、
とにかく一番良さそうなものを代入して欲しい」という考えもあるかもしれません。そこで、IBM SPSS Statisticsではもう1つの
手法として多重代入法を搭載しています。一般的に多重代入の方が、より正確な結果を通常生み出すと考えられています。
また、ほかの手法に比べてメカニズムにこだわらず使用できます。
そもそも多重代入というのは、1つのデータ欠損に対して、複数の手法を使ってデータ補完を行うという手法です。デフォル
トでは5つの手法を適応します。ここでの手法はこれまでの平均や中央値などの基礎統計データを出すという手法は含まれ
ません。全て、その変数だけでなく、その他の変数との関連から欠損データを予測するための手法を用いています。
まず、欠損を含むデータに対して、複数の手法を使ったデータ補完を行います。そしてそのデータに対してそれぞれにその
後の分析(例えば中古車価格予測の回帰分析)などを行い、その結果を“プール”つまり統合する手法です。平均値や中央
値も含め、1つの手法だけに絞り、その結果を適応していくよりも、複数のデータ補完を行った結果の平均を取るというやり
方をすることで、不確実性を考慮している手法と言われています。では多重代入法をご紹介します。
2.多重代入法
まずは、[パターン分析]をしてみます。
分析 >> 多重代入 >> パターン分析
- 10. SPSS Statistics Small TIPS
より効果的にご利用いただくために
10/14
全体の要約や、変数の要約で欠損データがどれだけあるのかを確認することができます。ここでは、4つある変数のうち1
つに欠損があり、12台の車のうち2台分になります。そして、4変数X12台分の全48セル中、2つのセルに欠損があること
がわかります。その他、欠損値パターンのグラフの出力もパターン分析で見ることができます。ここで、欠損について把握が
できたら、次に実際に値を代入してみましょう。
[分析] >> [多重代入]を選択し、[欠損データを代入]を選択します。ここでも[モデル内の変数]に全ての変数を投入します。
ここで変数を投入すると、欠損があるデータは欠損を埋め、欠損がないデータは欠損値を予測するために使うという指定に
なります。IDなどの変数以外はすべて投入して構いません。
代入されるモデルの数はデフォルトで5つです。
新しいデータセットは別ウィンドウに表示されるので、データセット名を指定します。
その他、[方法]や[制約条件]、[出力]タブで詳細の設定ができますが、ここではデフォルトのまま出力してみます。
- 11. SPSS Statistics Small TIPS
より効果的にご利用いただくために
11/14
その結果、新たにデータセットが出来ます。新しい変数として、「Imputation_」という変数が出来ました。5つの手法を使って
代入された結果が続いており、1から5まで付番されています。0は元データです。データのセルに色がついているところが、
それぞれの代入値で、Imputationの1と2で違った値が出ています。右上のプルダウン表示を使って、それぞれのデータに
移動することもできます。この時点では、5つの別の方法で代入されたデータセットができました。次にこのデータを使って、
もう一度回帰分析をしてみます。
分析 >> 回帰 >> 線型
分析アイコンが変化しています。このうずまきアイコンが表示されているのが、多重代入によって得られた結果に対応して
いる分析になります。回帰の設定は先ほどと変わりありませんので、同様に実行します。
- 12. SPSS Statistics Small TIPS
より効果的にご利用いただくために
12/14
こちらが多重代入データを使った結果のデータセットです。
代入と代入を利用した結果は、色つきでハイライトされます。
Imputation_変数の0(元データ)では、走行距離変数の2と3ケースのデータが欠損しており、その結果、予測値(PRE_1)と
残差(RES_1)も欠損値になっています(この資料のP3と同じ結果です)。
Imputation_変数の1~5では、走行距離の欠損値を代入しているので、予測値と残差にもデータが保存されています。
回帰のモデルは、元データと多重代入したデータそれぞれに対して作成されています。[モデルの要約]出力では、1.0に
近ければモデルの当てはまり率がよいと言われるR2乗値や調整済みのR2乗値が出力されており、欠損がある元データよ
りも、代入しているデータの方がモデルの当てはまりが良くなっています。欠損値を補完することによって、モデルの当ては
まり度合いがよくなるといったメリットがある場合も多くあります。
- 13. SPSS Statistics Small TIPS
より効果的にご利用いただくために
13/14
最後のモデル行に“プールされた”という結果が出ています。これが多重代入によって得られる結果です。5つのモデルで作
成した値の平均を算出しています。これが、1つ1つの代入結果の不確実性を考慮した手法だと言われている所以です。多
重代入で得られた結果として、この“プールされた”値を使うことができるようになります。
このように IBM SPSS Statistics では欠損値処理に対して、様々な手法を搭載し、分析の精度をさらにアップしていただける
ようになっています。特に単一代入法や、多重代入法を行うには、IBM SPSS Missing Values が必要です。完全なデータで
はなく、欠損値があるデータでも信頼できる分析を続けていただくためにも、是非試してみてはいかがでしょうか。
特に欠損値が発生しやすいアンケート調査分析や、医療系データ分析などで、頻繁にご利用いただいております。
- 14. SPSS Statistics Small TIPS
より効果的にご利用いただくために
14/14
© IBM Corporation 2017. All Rights Reserved.
ワークショップ、セッション、および資料は、IBM またはセッション発表者によって準備され、それぞれ独自の見解を反映した
ものです。それらは情報提供の目的のみで提供されており、いかなる参加者に対しても法律的またはその他の指導や助言
を意図したものではなく、またそのような結果を生むものでもありません。本講演資料に含まれている情報については、完
全性と正確性を期するよう努力しましたが、「現状のまま」提供され、明示または暗示にかかわらずいかなる保証も伴わな
いものとします。本講演資料またはその他の資料の使用によって、あるいはその他の関連によって、いかなる損害が生じた
場合も、IBM は責任を負わないものとします。 本講演資料に含まれている内容は、IBM またはそのサプライヤーやライセン
ス交付者からいかなる保証または表明を引きだすことを意図したものでも、IBM ソフトウェアの使用を規定する適用ライセン
ス契約の条項を変更することを意図したものでもなく、またそのような結果を生むものでもありません。
本講演資料で IBM 製品、プログラム、またはサービスに言及していても、IBM が営業活動を行っているすべての国でそれら
が使用可能であることを暗示するものではありません。本講演資料で言及している製品リリース日付や製品機能は、市場
機会またはその他の要因に基づいて IBM 独自の決定権をもっていつでも変更できるものとし、いかなる方法においても将
来の製品または機能が使用可能になると確約することを意図したものではありません。本講演資料に含まれている内容は、
参加者が開始する活動によって特定の販売、売上高の向上、またはその他の結果が生じると述べる、または暗示すること
を意図したものでも、またそのような結果を生むものでもありません。 パフォーマンスは、管理された環境において標準的
な IBM ベンチマークを使用した測定と予測に基づいています。ユーザーが経験する実際のスループットやパフォーマンスは、
ユーザーのジョブ・ストリームにおけるマルチプログラミングの量、入出力構成、ストレージ構成、および処理されるワークロ
ードなどの考慮事項を含む、数多くの要因に応じて変化します。したがって、個々のユーザーがここで述べられているものと
同様の結果を得られると確約するものではありません。
記述されているすべてのお客様事例は、それらのお客様がどのように IBM 製品を使用したか、またそれらのお客様が達成
した結果の実例として示されたものです。実際の環境コストおよびパフォーマンス特性は、お客様ごとに異なる場合があり
ます。
IBM、IBM ロゴ、ibm.com、SmarterPlanet アイコンは、世界の多くの国で登録された International Business Machines
Corporation の商標です。他の製品名およびサービス名等は、それぞれ IBM または各社の商標である場合があります。
現時点での IBM の商標リストについては、www.ibm.com/legal/copytrade.shtml をご覧ください。
Microsoft, Windows, Windows NT および Windows ロゴは Microsoft Corporation の米国およびその他の国における商標で
す。