データ解析

データ分析における解析手法と注意点!

こんにちは!デジタルマーケターのウマたん(@statistics1012)です!

消費財メーカーでデータ分析やタグマネジメント等幅広く携わっています。

元々大学院で数理統計学を専攻しており、Python・R・Javascriptあたりはある程度書けます。

この記事では、データ分析における解析手法とデータ分析をする上での注意点、そしてデータ分析をする上でのツールについて見ていきたいと思います。

ウマたん
ウマたん
データ分析についてボリュームたっぷりにお届けするよ!

データ分析とは

データ分析とは何か。

ここに関しては正直あまり語ることはないんですが、あえてツッコミたいと思います。

データ分析とは、その名の通り「データを分析すること」

それでは分析とは何か。意外と分析とは何かと言われると難しいんですよね。

分析とは「分けて比べること」。そしてその結果何かしらの示唆を導き出すこと。

すなわちExcelでクロス集計を行ったとしてもそれはデータ分析なのです。データ分析というと、崇高な手法を使ってゴリゴリ機械学習使うなどといったイメージをお持ちの方も多いかもしれませんが、基本的にはデータを分けて比べてそれで示唆出しが出来れば、データ分析と言えるのです。

逆に言うと、大量のログデータをSQLで集計・加工しても、それだけではデータ分析とは言えません。

データ集計とデータ分析は明確に切り分けないといけません。

データ分析において注意する点

そんなデータ分析ですが、注意しなくてはいけない点がいくつかあります。

もちろんここに取り上げていることだけではありませんが、個人的に感じている注意点を並べていきます。

手法にこだわりすぎない

個人的には新しい手法やアルゴリズムには興味があり手法にこだわってしまう部分があるのですが、正直手法はそれほど大事でない場合が多いです。

手法なんかよりも、まずはどのようなデータを収集し加工し特徴量を作るかが一番大事です。

まあ、でもある程度手法の知識がないと解釈の仕方を間違ってしまうので全く手法にこだわらなくて良いというわけではありませんよ!

あくまでこだわりすぎないということが大事です。

仮説を立て目的を明確にする

大学時代に企業でインターンシップを行っていた時、大量のデータを渡されてここから何か面白いコト見えてこないかなーというお題をいただいたことがあります。

正直、当時は自分が未熟だったこともあるのですが、業界の知識もなかった僕は仮説を立てることもなく普段使い慣れている手法をとりあえず試して・・・しかし結局は当たり前の結果しか得られなくって・・・みたいな経験をしたことがあります。

やはりデータ分析の時間・労力をムダにしないためにも、分析前に仮説を立てて分析の目的を明確化させるべきです。

仮説はデータ集計の段階での違和感から得られることが多いです。

例えばなんですけど、

データ集計結果から自社サイトへの自然検索からの流入が減っているという現象があるとします。そうするとSEOが弱まって検索順位が落ちているのではないかという仮説が成り立ちますよね?

しかしSEO順位は変わっていない。そうすると次はSEMを強めたせいで自然検索流入が広告流入に流れてしまっているのでは?という仮説が立ちます。

期間を分けて比べてみる(分析)と実際にSEOの量とSEMの量には負の相関関係があり、ちょうど自然検索流入が落ちた時期にSEMを強めていることが分かりました。

ここまではただのExcelレベルですよね。

ここから最適なコストで最適な効果を得ることのできるSEMの出稿量というのを自動で算出するモデルを作りたいとなるでしょう。

そこでやっと機械学習の出番が出てくるわけですね。ぶっちゃけ普通の回帰分析でも良いけど。手法にこだわりすぎないというところとも関係してきますね。

なんでもかんでも手法を適用させて分析しようとするのではなく、簡単な集計から仮説を立てて目的を明確にしてから高度なデータ分析を行うようにしましょう!

データ分析の手法

手法にこだわりすぎないことはもちろん大事なのですが、手法について知っておくことはデータ分析において重要です。

データ分析における手法には大きく分けて教師あり学習と教師なし学習があります。強化学習という手法もありますが、基本的に教師あり学習と教師なし学習さえ知っておけば問題ないです。

教師あり学習

教師データとは正解ラベルが付いたデータ。

正解データに対してモデルを構築し、未知データの予測に活かしたりします。

回帰分析

教師あり学習の定番は、回帰分析。

回帰分析では、ある目的変数と説明変数の関係を見ていくことになります。

元々正解の分かっているデータから回帰モデルを作って、それを新たなデータに当てはめます。

アイスクリームの需要予測などが良い例。アイスクリームの売れた個数(これがいわゆる教師ラベル)をその日の温度や湿度などから予測するモデルを作ります。

正解が分かっている教師データが与えられているので教師あり学習になります。

回帰分析についてはこちらの記事にまとめていますので良ければご覧ください!

回帰分析の理論とRでの実装! こんにちは! この記事では最も一般的でビジネスシーンでもよく使われる「回帰分析」について説明していきます! データ解...

判別分析

回帰分析が、量的変数を目的変数として扱うのに対して判別分析は質的変数を目的変数として扱います。

統計学における多変量解析手法では一般的に回帰分析・判別分析を分けておりますが、機械学習手法は、回帰も判別も目的に応じて使い分けることが可能です。

決定木

決定木はタイタニック乗船データに対しても例として用いられている一般的な手法です。非常に分かりやすくルールも可視化しやすいためビジネスの場面で用いられることが多いです。

そういう意味でいうと、データの解釈のために使われることが多く、単純な予測精度を出したいなら他の手法を用いたほうが無難です。

決定木に関しては以下の記事にまとめています!

決定木 こんにちは!デジタルマーケターのウマたん(@statistics1012)です。 有名な機械学習手法の一つに決定木がありま...

k近傍法

k近傍法は、未知データの周りに存在する学習データの数から未知データのラベルを判断する機械学習モデルです。

アルゴリズムはシンプルですが、ある程度精度の見込める手法です。

詳しくは以下の記事にまとめています!

k近傍法とは?理論とRでの実装方法! こんにちは! この記事ではk近傍法というクラス判別の手法をご説明します! アルゴリズムも非常に分かりすく使いやすいk...

ランダムフォレスト

ランダムフォレストは、決定木とバギングを組み合わせた手法でそれなりの精度を簡単にたたき出してくれます。

それほど計算負荷もかからないので、ちょっとしたデータを解析するのにはもってこいです。

ランダムフォレストに関してはこちらの記事を参考にしてみてください。

ランダムフォレストこんにちは!デジタルマーケターのウマたん(@statistics1012)です! 今回は、汎化能力の非常に高い最強手法ランダムフォ...

SVM(サポートベクターマシン)

SVMもランダムフォレスト同様の精度が期待できる優秀な手法です。

応用の幅が広く様々な分野で使われています。計算負荷は高めです。

SVMについて詳しくはこちら!

SVM(サポートベクターマシン)とは?特徴とRによる実装!こんにちは!デジタルマーケターのウマたん(@statistics1012)です! 機械学習手法の中でも汎化能力が高いとされ使われる...

ニューラルネットワーク

ニューラルネットワークはディープラーニングの基となった手法です。ニューラルネットワーク単体ではそれほど高い精度は見込めませんが、中間層を増やせば増やすほど学習が進み(ディープラーニングに近づき)精度が高くなります。その分、計算負荷も上昇します。

ニューラルネットワークに関して詳しくはこちら!

ニューラルネットワークとは?仕組みとRでの実装!こんにちは!デジタルマーケターのウマたん(@statistics1012)です! 最近巷で話題のディープラーニング。 そんな...

XGboost

XGboostは、決定木と勾配ブースティングを組み合わせた手法で相当高い精度が見込めます。

今回紹介した教師あり学習の中では最も高い精度が見込める優秀な手法になっております。

XGboostに関しては以下の記事をご覧ください!

XGboostとは?理論とRでの実践方法!こんにちは!デジタルマーケターのウマたん(@statistics1012)です! Kaggleなどのデータ解析コンペでも頻繁に用い...

時系列データ分析手法(ARIMAなど)

時系列データに対して、通常の回帰系の手法を適用するのは要注意!

見せかけの回帰という問題が時系列データには生じるため、一見寄与率が高いモデルでも全く無意味なモデルであることが多いです。

とはいえ、時系列要素を変数として取り入れて機械学習手法まわすと結構良い精度出すのでどちらを使うかは状況次第といったところでしょうか。

時系列データ分析については以下の記事で簡単にまとめています!

時系列データ分析 こんにちは!デジタルマーケターのウマたん(@statistics1012)です 過去のデータを元に将来のデータを予測したい...

教師なし学習

教師なし学習は、教師あり学習の前手に次元圧縮を行ったり、データの構造を把握するために使ったりする手法です。

正解ラベルの付いた正解データがないのが特徴です。

クラスター分析

クラスター分析は教師なし学習の中でもっとも有名ですね!

クラスター分析では、正解となるラベルが与えられていません。膨大なデータの中からあるパターンを見つけ出す手法になります。

例えば、顧客の行動データなどをクラスター分析にかけることによって、そのままでは見えてこない顧客セグメントが浮かび上がってくることがあります。

クラスター分析には階層的クラスター分析と非階層的クラスター分析があります。非階層的クラスター分析ではあらかじめクラスター数を決めなくてはいけませんが膨大なデータでも比較的計算が早いです。

クラスター分析に関してはこちらの記事にまとめていますので良ければご覧ください!

クラスター分析 こんにちは!デジタルマーケターのウマたん(@statistics1012)です! 大量のデータセットをいくつかのグループ・...

クラスター分析の中でも特に実務に用いられることの多いk-means法について詳しくは以下の記事でまとめています!

k-means法とは?Rで実装してみよう!こんにちは!デジタルマーケターのウマたん(@statistics1012)です! 大学院時代は、クラスター分析を用いて回帰分析の精...

主成分分析

主成分分析は次元削減のために用いられることが多い手法です。イメージ的にはクラスター分析に近いのですが、クラスター分析がサンプルをカテゴライズしていたのに対して、主成分分析では、数ある変数をカテゴライズします。

例えば、各教科の点数があった時(数学・化学・物理・世界史・日本史・英語などなど)それらに主成分分析をかけることによって、変数をいくつかにまとめあげることができます。

この場合、理系・文系というように分けられることが想像できます。

主成分分析により次元圧縮をしてからクラスター分析をすることなども方法として考えられます。

主成分分析とは?簡単な説明とPythonでの実装!ながこんにちは!デジタルマーケターのウマたん(@statistics1012)です! データ分析を行っていると以下のような場面にぶ...

コレスポンデンス分析

コレスポンデンス分析は、商品・サービスの特徴を可視化するのに優れた分析手法であり、マーケティングにおける調査に良く使われます。

多変量解析における数量化3類と考え方はほぼ同じです。

様々な商品に対するイメージを分析によってマッピングします。

詳しくは以下の記事でまとめています!

コレスポンデンス分析とは?Rでのやり方を見ていこう!こんにちは!消費財メーカーでデジタルマーケティングに携わっているウマたん(@statistics1012)です! 多変量解析手法の...

コンジョイント分析

商品やサービスのどの部分を改善すれば消費者に受け入れやすくなるのか(効用値の大小)を把握するための手法であるコンジョイント分析。

どこまでのスペックが欲しいのか・価格はどこまで許容できるのかに対して消費者は明確に意識しているわけではなく、なんとなく潜在的に感覚を持っています。

そんな消費者の潜在的な効用を把握するために、直接的に機能の良し悪しを聞くのではなく様々なスペックの商品に点数を付けてもらうことにより機能の効用値を算出するのがコンジョイント分析になります。

コンジョイント分析に関して詳しくは以下の記事でまとめています!

コンジョイント分析とは?特徴とRでのやり方を見ていこう!こんにちは!デジタルマーケターのウマたん(@statistics1012)です。 消費者にとって、商品のどんな機能が響くのか知りた...

データ分析におけるツール

これらのデータ分析を行う上で必要なツールについて見ていきましょう!もちろんExcelベースで出来ることはそれでも良いですが上で挙げた手法群を実装しようとするともう少し違ったツールが必要。

ツールとしては、提供されている有償ツールを用いるか自前でプログラミング叩くかが考えられますが、提供ツールは自由度が低くライセンス料もかかるため出来るならばプログラミングを叩けるようになることをオススメします!

とは言え、ここは手段でしかないのでリソースと目的に応じた最適な方法を取りましょう。

プログラミングに関してはR・Python・Stanあたりになります。

R

統計解析と言えばR。大学の研究ではひたすらRを用いていました。

世界中の人々が日々パッケージを作って共有してくれているので、簡単なコードで様々なアルゴリズムを実装することができます。

RstudioというR用の統合開発環境が提供されており、非常に便利なので使ってみることをオススメします。

Rはプログラミング学習講座などでもなかなか扱われていない、手を動かしながらRtips等で調べて勉強していきましょう。

Rを勉強する本としてはこちらがオススメです!

Python

最も現在熱い言語がPython。プログラミング言語別の年収でも常に上位です。

Rと同様にデータ解析に特化していて、かつ頻繁にパッケージが開発されているので様々なアルゴリズムが簡易的に実装可能です。

Pythonには存在するけどRには存在しないアルゴリズムもいくつかあるので、最先端のアルゴリズムを実装したいならPythonを使った方が無難なイメージがあります。

また、Pythonは多くのリファレンスがあるので分からないことがあってもネットで調べれば大抵解決します。Rはそれほどまとまったリファレンスがありません・・・

そしてRと最も大きく違う点は、開発言語として使えるか否か。Pythonは開発言語としても使えるので、アルゴリズムを回してそのままサービスローンチまで一気通貫で利用できます。

Pythonの基礎知識を付けるには、まずProgateがオススメ!

その次にはPythonに特化したPyQがオススメ!なかなかPythonに特化してここまで教えてくれるオンライン学習プラットフォームはありません。

PyQについては以下の記事で詳しくまとめています!

Python学習に特化したPyQをレビュー!初学者にオススメ!こんにちは! デジタルマーケターのウマたん(@statistics1012)です。普段は、Python・R・Javascriptな...

また、本気で取り組みたいならプログラミングスクールに通うのがオススメ!

基本的にはオンライン学習コンテンツを進めていくものになりますが、現役エンジニアのメンターがついて分からないことは素早く対応してくれます。

教材のレベルも高く、本気で実践的なプログラミングを勉強するならテックキャンプよりもテックアカデミーでしょう。

テックアカデミーを体験記事を挙げているのでよければご覧ください!

【感動】テックアカデミーの評判は?実際に受講してみて良かった6つのことこんにちは!消費財メーカーでデジタルマーケ&データサイエンティスト的なお仕事をしているウマたん(@statistics1012)です。 ...

無料体験も行っているのでとりあえず取り組んでみるのも良いでしょう。

テックアカデミー公式サイトをチェック

PythonはGoogleで調べると様々なリファレンスが出てくるので、調べながら手を動かしてみましょう。

ちなみに統計ラボでは、Pythonを勉強するためのロードマップを以下の記事でまとめていますのでこちらも参考にしてみてください。

【入門】初心者が短期間でPythonを習得できるようになる勉強法!こんにちは!デジタルマーケターのウマたん(@statistics1012)です。 大学院時代は統計学を専攻していたのですが、ほぼR...

Pythonを勉強する本としてはこちらがオススメです。

PythonとRに関してはオススメの本をこちらにまとめていますので良ければご覧ください!

厳選10冊!データ解析(R・Python)の勉強におすすめな本こんにちは!デジタルマーケターのウマたん(@statistics1012)です 統計学を勉強する学生やデータ解析を行う方々が良く使...

Stan

RやPythonほど有名ではないですが、非常にディープな解析を行えるのがStan。

複雑なデータになると、簡易的な回帰ではなく複雑な分布を想定したモデル構築が必要です。

Stanは、なかなか体系的に勉強するのが難しいんです。

こちらの書籍が非常に分かりやすいのでオススメです!Rをある程度理解できていればこの書籍を読むことでStanの実装もできるかと思います。

 

Stanを勉強する上でのオススメ本は以下にまとめていますので良ければご覧ください!

複雑な統計モデリングに便利!Stanの勉強法とオススメ本!こんにちはデジタルマーケターのウマたん(@statistics1012)です! 大学院時代は統計学を専攻しており、ベイズ統計学など...

しかしプログラミングは勉強方法が分かっても勉強を続けるのは忍耐力がいります。

こちらの記事でプログラミング学習に挫折しない方法をまとめていますので良ければご覧ください!

プログラミングを挫折しないで勉強し続けるために重要な3つの秘訣!こんにちは! 事業会社でWebマーケ・データ解析屋さんとしてお仕事をしているウマたん(@statistics1012)です。 ...

基本的にはPythonを勉強しておくのがベターですが、データ解析だけならRでも問題ありません。

もっと詳しくデータ分析ツールについて知りたい方は以下の記事をご覧ください!

統計解析を行う上で便利なプログラミング言語を比較!統計学を学ぶにあたって必要なプログラミングのスキル。 世の中にはプログラミング言語を使わずとも統計処理を扱えるソフトウェアが存在し...

データ分析における解析手法と注意点 まとめ

データ分析に関するお話をツラツラとしてきましたが、あくまでツールは手段であるということを念頭において、データ分析の目的を明確化することが大事だと思います。

とは言え、目的ばかり考えて頭でっかちになって全く動かないというのもよくないので、とりあえず手を動かしてみるというのも大事なんですよね。

実は、その狭間にいる今日この頃。

手段の目的化は避けなくてはいけないなと思いつつ、それでもとにかくDoして手段を高速化させていくフローも大事ですよね!

ウマたん
ウマたん
んー、データ分析って難しいなー!

というわけで、データ分析に関するボリュームたっぷりのお話でした!

理論を勉強したいという方はこちらの記事で統計学のオススメ書籍を紹介しているのでご覧ください!

厳選30冊!統計学を勉強する上でおすすめな本こんにちは!元統計学専攻の大学院生、ウマたん(@statistics1012)とシンエーです。 今ではデジタルマーケティング関連の...