そぞろ歩きという事でいくつかの機能を紹介しましたが、これ以外にも様々な機能があります。
Spotfireの基本的な操作方法を習得するために、バンドルされているデータを使用したチュートリアルがありますので、こちらもご覧ください。
データ分析に必要な操作を一通り網羅します。
そぞろ歩きという事でいくつかの機能を紹介しましたが、これ以外にも様々な機能があります。
Spotfireの基本的な操作方法を習得するために、バンドルされているデータを使用したチュートリアルがありますので、こちらもご覧ください。
前回、身体測定のデータの中で「ソフトボール投げ」に対して、
どの測定項目が一番影響があるのか調査しました。
結果として「20mシャトルラン」「立ち幅跳び」「50m走」「上体起し」「反復横とび」
が多少相関がありそうで、
「握力」や「長座体前屈」は関係なさそうだという事がわかりました。
では、関連のある項目を元にソフトボールの飛距離を推測できるでしょうか?
物理学者は理論的に
「AはBとCというパラメータに関連するから、Bが動くとAはこれくらい動く」
と数式を導き、実験で結果検証します。
我々も、人体を仕組みを解き明かして、50m走とソフトボールの飛距離の関連性を明かすことはできるかもしれません。
しかし、ここは手っ取り早く、実際の測定値から結果を推定しましょう。
帰納的なアプローチです。
過去データはたくさんあるのです、これらにフィットする数式を導き出して、使ってみます。
もちろん理論的なものではないので間違っていることもあるのですが、
それらは徐々に修正していくことができます。
現実のデータからフィットしそうな数式を導くことを「モデル化」と呼びます。
ツール→「回帰モデリング」を選択してください。
「回帰モデリング」画面が開きます。
「モデルメソッド」は線形回帰、「データテーブル」は取り込んだデータ、
レスポンスカラムは目的変数と呼ばれ、モデル化の対象とするカラムを選択します。
こちらに「ソフトボール投げ(m)」を選択します。
「予測カラム」は説明変数と呼ばれます。
レスポンスカラムを導き出すために使用するカラムを選択します。
「20mシャトルラン」「立ち幅跳び」「50m走」「上体起し」「反復横とび」
の5つを選択して「追加」ボタンを押してください。
「OK」を押すと、結果ページが表示されます。
ここで重要なのは赤線で括った、モデルの要約にある
Multiple R-squared: 0.5038
の数値と係数表の値です。
R-squaredの値は前回でも話題にしていたR2の値です。
ざっくり言うと、実際のソフトボール投げの数値に対して
どれくらい良いモデルができたのか指標です。
20mシャトルランだけでは0.48の値だったのですが、
他のパラメータを追加したことで0.50に上昇しました。
期待ほどではないです。
係数表には実際のモデル式が読み取れます。
NameとEstimateの行を見てください。
Interceptは切片で、それ以外はそれぞれどれくらい影響を及ぼすかです。
ソフトボール投げ=3.44+ 上体起こし x 0.12 + 反復横跳び x 0.03 + 20メートルシャトルラン x 0.13 + 50m走 x ( -0.10 ) + 立ち幅跳び x 0.02
というモデルになったという事です。
実際にどれくらい適合しているのかは目で見た方がわかりやすいかもしれませんね。
「Residuals vs. Fitted」「Variable Importance」はグラフ右上のxを押して消してください。
左下の診断用ビジュアライゼーションから
「Response vs. Fitted」をクリックすると散布図が表示されます。
縦軸がソフトボール投げの実績、横軸はモデルから算出した理論値です。
だいたい合っていそうですが、もっとフィッティングを高められないでしょうか?
↑ちなみに結果の散布図は、普通の散布図と変わりありません。 回帰線の追加とラベルの追加は前のページをご覧ください。
それではモデルを修正してみましょう。
今回は測定値だけを元にモデリングしました。
数値項目を元にしたため、「学校」や「男女」などの属性は盛り込めてないのですね。
小学校・中学校や男女で違いはありそうなので、
これも追加してみましょう。
モデルの要約の「モデルの編集」を押します。
これで作成したモデルの変更ができます。
説明変数に「学校」「性別」を追加してください。
「OK」を押すと再集計されます。
Multiple R-squaredの値が 0.6643になり、だいぶ精度も高まったようです。散布図も収束してきましたね!
係数表も更新されますが、こちらはだいぶ変わっています。
ソフトボール投げ=-12.46+ 上体起こし x 0.15 + 反復横跳び x 0.10 + 20メートルシャトルラン x 0.08+ 50m走 x ( -0.10 ) + 立ち幅跳び x 0.07 小学校だったら 6.14、 男だったら3.81 のボーナスポイントが追加
のモデルです。
男子だったら飛距離が伸びるのは納得ですが、小学生の方が中学生よりも飛距離が伸びるのは理解し難いですね。
恐らく、上体起こしや反復横跳びなどの値ほどには飛距離は伸びないので、身体が成長するにしたがってマイナス修正が必要なのでしょう。
これで割と信頼できるモデルができましたので、
体力測定のデータで、ある程度ソフトボールの飛距離が推測できます。
これって思っているよりもすごいことだと思いますよ。
ソフトボールの飛距離計測するには50メートルくらいのグラウンドが必要になりますし、
計測員も一人じゃ足りないですよね?
ソフトボールは非常にコストの高い測定項目なんです。
これを他のパラメータで推測できるという事は
無駄な投資の抑制とコスト削減につながります。
また、このモデルはファイル内に保存できますので、
データを更新した際に、予測値を計算することができます。
同じことを、製造業の品質と製造時のパラメータに変更すると、製造中に品質が悪いのかどうか判断できますし、
サービス行では、会員が解約する予兆を捉えたり、逆にどの商品を購入してくれそうか、導くことができます。
これで一通り、データ分析から予測ができるようになりましたね。
前回、様々な視点でデータを分析してパラメータの間で色々な関係性がありそうだという事がわかりました。
グラフの軸や色などを切り変えて見ることで、
関連性の有無も大体分かると思います。
サンプルデータはカラムの数も少ないのでHitに関連するパラメータを見つけたければ
全ての軸を取ってみれば、どのパラメータが関連しているか分かりますが、実際はカラムが数百あるデータも珍しくありません。
これらに対して全部可視化して確認するのは、
業務効率化という点からはおすすめできません。
そこで統計的な手法を使って確認しましょう。
前回は棒グラフを使用して年収のサマリーを
TeamやPosition別に比較してみました。
しかし、サマリーではなく個別の選手に対して注目が必要な場合もあります。
そのような時は散布図が便利です。
散布図の作り方はツールバーのアイコンから「新規の散布図」をクリックします。
データの取り込みができたら、
データの傾向がどのようになっているのか確認します。
今回のデータでは「Salery」カラムが年収ですので、
どのような偏りがあるのか見ていきましょう。
画面上の「ページ」で右クリックして「新規ページ」を選択し、
新規ページを作成します。
画面上部にあるアイコンから「新規の棒グラフ」をクリックします。
棒グラフが表示されました。
最初の軸はSpotfireが自動的に決めてくれます。
この場合は横軸がPosition、縦軸がローの数なので、
LFポジジョンの選手が一番多いようです。
50名程度いますね。その次が2Bで35名程度でしょうか?
選手の人数を見ていても面白くないので
年収を比較してみましょう。
縦軸の(ローの数)と書いてある上の をクリックすると
軸を選択できます。
ここでSalaryを選択してみましょう。
これで縦軸が年収になりましたので、
ポジション別の年収合計になりました。
あれ?少しおかしいですね。
人数では2Bは2番目に多かったのに、
年収合計ではそれほどでもないです。
年収の平均を見てみましょう。
Sum(Salary)の上にある をクリックすると、
先ほどと同じようにカラム一覧が表示されます。
一番上に集計方法が選択されています。
現在はSum(和)になっていますので、Avg(平均)に変更します。
うわ。。。2Bの年収低すぎ。。。
他のポジションと比較しておよそ半分程度の収入です。
これでやっていけるのでしょうか?
と思いますが、これは大リーガー全体の平均なので
それでも200万ドル(2億円)以上はありますね。
冗談はさておき、今度はどのチームが一番収入が多いのか見てみましょう。
一度縦軸をSum(Salary)に戻します。
ワンステップ戻るのでツールバーの「元に戻す」が便利です。
また、合計に戻りました。
では横軸をチームに変更し、どのチームが一番給料を払っているのか確認します。
横軸のPositionと書いてある右の を選択すると縦軸と同じように一覧が表示されますので、
Teamを選択します。
ダントツで給料をもらっているチームがあります。
ただ、横軸のラベルがつぶれて見えないです。
このような場合は画面を広げるか、マウスを乗せると項目を確認できます。
一番給料をもらっているのはNY Yankeesでした。
総額で$108,135,714ですね!
一体誰がこんなに貰っているのでしょうか?
内容を確認したい場合はマークを使います。
バーをクリックするか、左クリックでドラッグにより範囲選択することにより、
マークと呼ばれる状態になり、その範囲のデータがハイライトされます。
ハイライトされたデータはDetail-on-Demandに表示されます。
Salaryでクリックすると給料別にソートすることができますので
Alex RodorigezやDerek Jeter選手などの高給取りが見えてきます。
先ほどはPosition別にSalaryを比較しましたが、
今回はTeam別に比較しています。
ちなみにデータには連続型データと離散型データの2種類あります。
連続型データは数値型のもので、身長や体重などがこれに当たります。
Salaryもこちらですね。Spotfireでは連続データと呼びます。
離散型データは男女や好きなスポーツなど、文字列型のデータです。
男性は1、女性は2など必ずしも文字列とは限りませんが、中間の値がないデータのことです。
TeamやPositionはこちらに当たります。Spotfireではカテゴリデータと呼びます。
Team別に比較してますが、これはTeam別Position別に比較する必要がありそうです。方法は2種類あります。
LFポジションだけに注目してみましょう。
データにフィルターをかけて、範囲を絞り込みます。
画面右側に「フィルターパネル」があります。
フィルターパネルの中からPositionを表示してください。
チェックボックスになっているので、チェックを外すことで
データ範囲を変更できます。
LF以外のチェックボックスを外してみると
Bostonが給料をたくさん払っていそうです。
それ以外のPositionに関しても調べてみてください。
右下にどれくらいのデータが絞りこまれているのか表示されています。
フィルターをかけたことを忘れて分析してしまうことがありますので、
こちらはチェックしておきましょう。
フィルターリセットする場合はツールバーからフィルターリセットボタンをクリックします。
下世話な話ですが、日本人選手もデータの中に含まれています。
フィルターでイチロー選手や松井選手だけに絞り込むことも可能です。
正規表現が使えますので、Player Name に*matsu* or *ichiro* と入力して下さい。
シアトルマリナーズのあの人はやはり高給取りですね。
再度フィルターリセットをかけて全データを表示しましょう。
棒グラフだけでも様々な知見が得られることがわかります。
重要なのは報告のための可視化ではなく、
気付きを得るための可視化が大事だという事です。
サマリーされたデータを確認すると言う意味では、
線グラフでも円グラフでも同じです。
ただ、場合によってはサマリーされていない生データを可視化することが重要になってきます。
次は散布図でデータを確認してみましょう。
データを分析するにはデータが必要です。
Spotfireは基本的にフラットなデータであれば、
取り込むことができます。
先ほどのサンプルファイルフォルダからBaseball.txtを読み込んでみます。
Spotfireを新規に立ち上げてください。
取り込み方法は下記の方法があります。
今回はドラッグアンドドロップで取り込みしますので、
ファイルをSpotfire上にドロップして下さい。
これで読み込みは完了です。
取り込んだデータを見てみましょう。
ツールバーに「新規のテーブル」というアイコンがあります。
アイコンをクリックすると、テーブルが表示され、
生データの確認ができます。
評価版のインストールが完了したらファイルを開いてみましょう。
Spotfireと一緒にサンプルファイルもインストールされています。
続きを読む 画面構成