2016年12月22日木曜日

(Google Analytics)「目標ページ(ゴールページ)」 の設定方法

こちらもGoogle Analytics(GA)の小ネタです。
北海道北見市にある「オダリサーチ・ファーム」は地元で20年以上も続く肉牛肥育牧場で、えーっと、わたくしの実家です(笑)

こちらでは、牛ちゃんが寝床にするオガクズや木屑・牛糞などを醗酵させ「たい肥」にし、一般家庭向けや農家さん向けに販売しております。前者は、牧場に併設しているキャンプ場で「つめ放題たい肥」として販売、後者はトラック単位でご提供しています。どちらもビジネスとしては重要なのですが、農家さん向けに販売するトラックに積む「たい肥」は1台当たり11トンにもなるので特に重要です。
 

今回は上記ページをGA上でゴールとして設定し、アクセス解析をする方法をご紹介します。

GA設定の手順


設定はとっても簡単です。

(1)「目標」を選択
「管理」目ユー→「ビュー」→「目標」を選択してください。


(2)「新しい目標」を選択
赤枠で囲った「新しい目標」を選択してください。


(3)「目標の説明」を設定
・名前:
お好きな名前を入力してください。

・タイプ:
様々なゴールタイプを設定できますが、今回はページなので「到達ページ」 を選択してください。


(4)「目標の詳細」 を設定
・到達ページ
ゴール設定したいページを設定します。今回は当ブログの冒頭に記載した「農家向けたい肥ページ」のURLとなります。

・目標到達プロセス:
ゴール設定したページまでのステップを指定することが出来ます。
この場合、しっかり当社たい肥の商品性や特徴を理解してから農家向けたい肥ページに進んでもらうことをゴールとして考えたいので、「堆肥まとめページ」と「熟成たい肥ができるまで」のURLを指定してみました。


GAの設定としては以上です。
あとは、[コンバージョン]>[目標]>[目標到達プロセス]でコンバージョンを確認することが出来ます。

GA関連エントリー


(Google Analytics)サイトコンテンツのトップページ表示を「index.html」に纏める方法
http://sapporomkt.blogspot.jp/2016/12/google-analyticsindexhtml.html

(Google Analytics)サイトコンテンツのトップページ表示を「index.html」に纏める方法

Google Analytics(GA)の小ネタです。
GA上で[行動]→[サイトコンテンツ]→[すべてのページ]画面で各ページの計測値が表示されるのですが、以前から「index.html」と「/」が分かれて表示されるのが気持ち悪く思ってました。


軽く調べたら対応策があったのでご紹介します。

GA設定の手順

手順としてはとっても簡単です。

(1)「管理」メニューの表示
GAページ上段にあるメニューから「管理」を選択してください。


(2)「ビュー設定」を選択
画面右列の「ビュー」から「ビュー設定」を選択してください。


(3)「デフォルトのページ」変更
「デフォルトのページ」欄に「index.html」と入力し、保存してください。


たったこれだけの設定で、以降、GA上のレポートでトップページのURLは「/index.html」として表示されます。

2016年12月20日火曜日

焼肉屋がGoogle Tag Manager(GTM)で外部リンククリックを計測してみた。

ここ数日、空前のGoogle Tag Manager(GTM)ブームです。
本日は、実家のHPに導入した「GTMによる外部リンククリック計測」についてご紹介します。

GTM導入の要件確認


<要件(やりたいこと)の確認>
「ここだけ野付牛」を運営する「オダリサーチ・ファーム」(※1)全ページ内にある外部ドメインへのリンクをイベントとして計測したい。
※1:http://odafarm.com/



本来、Google Analytics(GA)では外部ドメインへのリンククリックは計測出来ませんが、GTMのイベントトラッキング機能を使うと当該クリックの計測が可能となります。

GTMの導入手順


(1)GTMにログイン
ログイン後、仮想ページビューを計測したいコンテナを選択してください。


(2)「変数」をすべて有効にする
「ワークスペース」タブの左側にある「変数」をクリックした後、「設定」を選び、各変数の横にある「ページ」チェックをすべてつけて有効化してください。


(3)「トリガー」のタイプを選択
同じく左側にある「トリガー」を選択し、「新規」を押してください。
右側に「トリガーのタイプを選択」が表示されるので、「クリック-リンクのみ」を選択してください。


(4)「トリガー」の設定
・左上のトリガー名:
お好きな文言を記入してください。自分は「外部サイト閲覧」にしました。

・「タグの配信を待つ」:
 当該チェックボックスにチェックをつけてください。
「待ち時間の上限」はデフォルト値のままで結構です。

・「これらすべての条件がtrueの場合にこのトリガーを有効化」:
-左側のプルダウン:「Page URL」を選択
-真ん中のプルダウン:正規表現に一致
-右側の入力欄:「.*」

「正規表現!?うわっ!!」と思うかもしれませんが、上記の意味は結構簡単です。

「.」:「任意の1文字」を表す
「*」:「直前の1文字の0回以上の繰り返し」を表す

つまり、「.*」は「何らかの文字が1文字以上」となり、上記設定は「Page URL」に「何らかの文言が設定されていること」となります。

・「このトリガーの発生場所」:
「一部のリンククリック」を選択してください。

・「イベント発生時にこれらのすべての条件がtrueの場合にこのトリガーを配信します」:
-左側のプルダウン:「Click URL」を選択
-真ん中のプルダウン:「含まない」を選択
-右側の入力欄:今回の要件は「自社サイト以外の外部ドメインへのリンククリック計測」なので、自社サイトのドメインを入力します。
自分の場合は「odafarm.com/」としました。



(5)「タグタイプ」の選択
「ワークスペース」タブの左側にある「タグ」を選択し、「新規」を押してください。
右側に表示される一覧から「ユニバーサルアナリティクス」を選んでください。


(6)「タグの設定」
・トラッキングID:
 計測対象としたいGAのトラッキングIDを入力してください。
自分は「変数」から当該IDを「定数」として登録して使いまわしています。
手入力だとミスや余分な作業時間につながりますので「定数」化することをオススメします。

・トラッキングタイプ:
「イベント」を選択してください。

・カテゴリ:
お好きな名称を記入してください。後ほど、GAの「イベントカテゴリ」として表示されることになります。

・アクション:
「Click URL」を選択してください。

・ラベル:
「Click Text」と「Page URL」を選択してください。自分は視認性を高めるために、両者の間に「_」を入れました。
上記のように設定すると、クリックしたリンクに<a href></a>で設定されたテキストを「Page URL」の前に入れてGA上で表示することが出来ます。

以上でタグの設定が完了となります。先ほど設定したトリガーをタグに紐付けた上で画面右上の「保存」ボタンを押し「公開」してください。


(7)GAで確認
最後にGAで確認してみましょう。どこでも結構なので、外部リンクを設定している箇所をクリックしてから1~2時間後にGAの「行動」→「イベント」→「サマリー」をご覧ください。


しっかり計測されていました^^

Google Tag Manager(GTM)関連のエントリー


実家の焼肉店がGoogle Tag Manager(GTM)を導入したぜ(リンククリック計測方法のご紹介)
http://sapporomkt.blogspot.jp/2016/12/google-tag-managergtm.html

「Google Tag Managr(GTM) Assistant」のバグに御用心
http://sapporomkt.blogspot.jp/2016/12/google-tag-managrgtm-assistant.html

ますます進むメディアと焼肉屋の融合~GTMで行う仮想PV計測
http://sapporomkt.blogspot.jp/2016/12/gtmpv.html

2016年12月19日月曜日

ますます進むメディアと焼肉屋の融合~GTMで行う仮想PV計測

 先日、「焼肉の街」として有名な「北海道北見市」にある人気焼肉店「ここだけ野付牛(のつけぎゅう)」、簡単に言いますと、私の実家HPにGoogle Tag Manager(GTM)を導入した件について書きました。

実家の焼肉店がGoogle Tag Manager(GTM)を導入したぜ(リンククリック計測方法のご紹介)
http://sapporomkt.blogspot.jp/2016/12/google-tag-managergtm.html

 今回は、近年非常に話題になっている「メディアと焼肉の融合」についてご紹介します。
・・・異論は認めませんが、言い換えますと、「メディアで紹介された記事画像のクリックもページビューとしてGTMで計測しようね」な件です。こんなエントリータイトルにしてしまい、心から反省しております。

GTM導入の要件確認


 <要件(やりたいこと)の確認>
「ここだけ野付牛」を運営する「オダリサーチ・ファーム」(※1)ページ内にある「パブリシティ」(※2)ページで掲載しているメディア紹介記事画像のクリックを「ページビュー」としてGTMで計測したい。
※1:リサーチ会社でもコンサルティングファームでもございません。肉牛肥育牧場ですが、なぜか、こんな屋号で20年以上やっとります…。
※2:http://www.odafarm.com/publicity.html



 Google Analytics(GA)ユーザーは御存知かもしれませんが、リンク先がHTMLではなく、PDFや画像だった場合、GAのデフォルト機能ではページビューとして計測できません。GTMはこのようなケースでも数ステップの設定でページビューを計測することが出来ます。




GTMの導入手順


(1)GTMにログイン
ログイン後、仮想ページビューを計測したいコンテナを選択してください。


(2)「タグ」を選択
「ワークスペース」タブ画面の左側にあるメニューから「タグ」を選択してください。




(3)「新規」ボタンを選択
既に色々と登録しちゃってますが、見なかったことにして頂いて(笑)「新規」ボタンを押してください。




(4)「タグ」名称の登録
この段階でなくてもいいのですが、忘れないように早いうちにタグ名称を登録しておきましょう。
特にルール等はないのですが、自分は結構多くのタグを登録しているため、視認性を考慮し、下記のようなルールにしました。最初は若干面倒に感じるかもしれませんが、登録数が増えてくると、このような管理は必須になると思います。


-タグ設定の目的=仮想PV
-コンテンツの種類=pub_hs(hokkaido shinbunの略)
-コンテンツの掲載年=00(年)    はばたけオホーツク人
-コンテンツ名=個人ブランド「野付牛」育てる

 
(5)タグタイプを選択
いつもどおり「ユニバーサル アナリティクス」でお願いします。

 

(6)タグの設定
・トラッキングID:
 都度、GAのトラッキングIDを手入力してもいいですが、結構面倒ですよね。
自分は「定数」として当該IDを登録し、プルダウンで選択できるようにしています。
(「ワークスペース」タブ画面の左側にあるメニューから「変数」をクリックして登録出来ます)
 



・トラッキングタイプ:
画像へのリンクを「ページビュー」として計測したいので、ここは「ページビュー」を選ぶことになります。

・フィールド名:
「詳細設定」→「設定するフィールド」→「フィールド名」を選択してください。
タグを配信するフィールド名と具体的な値(この場合は、画像へのリンクURL)を入力します。
-フィールド名:{{Page URL}}
-値:画像へのリンクURL


(7)トリガーの設定 
・トリガー名称:画面左上のトリガー名を入力してください。タグ名と同様、たくさんトリガー名が並んでも視認しやすいようにある程度の規則性があった方がいいと思います。

・「タグの配信を待つ」:
 チェックをつけてください。「待ち時間の上限」はそのままで大丈夫です。

・「これらすべての条件がtrueの場合にこのトリガーを有効化」:
-左側のプルダウン:「Page URL」
-真ん中のプルダウン:含む
-右側の入力欄:このトリガーを有効化したいページ(URL)。今回は、実家HPのパブリシティページとなります。

・「このトリガーの発生場所」:
 「一部のリンククリック」を選択してください。

・「イベント発生時にこれらすべての条件がtrueの場合にこのトリガーを配信します」
-左側のプルダウン:「Click URL」
-真ん中のプルダウン:含む
-右側の入力欄:どの画像へのクリックをトリガーにするか設定します。この場合、実家HPに掲載されている記事画像へのリンクURLとなります。
 


以上での設定は完了です。画面右上にある「公開」ボタンを押して公開してください。

 

(8)GAでの確認
 実際にGAにデータが送信されるのは1日かかるようですが、実際は数時間後でも反映されるようです。お急ぎでしたらGAの「リアルタイム」の方をご覧ください。12月18日(日)21:00に各ページへのクリックを行った結果が反映されていますね。




Google Tag Manager(GTM)関連のエントリー


実家の焼肉店がGoogle Tag Manager(GTM)を導入したぜ(リンククリック計測方法のご紹介)
http://sapporomkt.blogspot.jp/2016/12/google-tag-managergtm.html

「Google Tag Managr(GTM) Assistant」のバグに御用心
http://sapporomkt.blogspot.jp/2016/12/google-tag-managrgtm-assistant.html

2016年12月17日土曜日

「Google Tag Managr(GTM) Assistant」のバグに御用心

小ネタです。
Googleが無償で提供するタグマネジメント「Google Tag Manager(GTM)」には、GTMタグの発火(Fire=有効に動いているか)を簡単に確認するために「Google Tag Assistant」というツールもChromeアドオンとして提供されています。

これ自体、とても便利なのですが、自分が管理している実家のホームページを見ると・・・


ツールバーにある「タグアイコン」が赤くなっています・・・。
こちらを開くと、せっかく導入したGTMがエラーになっているとのことですが、GTM上で設定したGAのPV計測も適性に動いているし、先日のエントリーでご紹介した「リンククリック計測」も問題ナイチンゲール。うーん、どうしてものか・・・。


その後、色々と調べていたところ、Googleさんのページにこんな記載がありました。


「GTMのIDが6桁以上だと不必要にエラー表示します」ですと。確かに、自分のGTM IDは6桁以上なので納得しました。今後のアップデートで解消されるようですが、早く対応して頂きたいものですね。

Google Tag Manager(GTM)関連のエントリー


焼肉屋がGoogle Tag Manager(GTM)で外部リンククリックを計測してみた。
http://sapporomkt.blogspot.jp/2016/12/google-tag-managergtm_20.html

実家の焼肉店がGoogle Tag Manager(GTM)を導入したぜ(リンククリック計測方法のご紹介)
http://sapporomkt.blogspot.jp/2016/12/google-tag-managergtm.html

ますます進むメディアと焼肉屋の融合~GTMで行う仮想PV計測
http://sapporomkt.blogspot.jp/2016/12/gtmpv.html 

実家の焼肉店がGoogle Tag Manager(GTM)を導入したぜ(リンククリック計測方法のご紹介)

「キミ、Google Analytics使えるよね?」と言われ仕事を受けた後に要件の詳細を確認したら「それ、Google Tag Manager(GTM)ですよね・・・」となり、夜通しマニュアル本開いて悶絶しながら勉強するような事故が絶えない年末でございます。

・・・というのは半分冗談ですが、ネット上でGTM関連のページを結構調べても、GTMの仕様変更が早すぎて、ことごとく今のGTM UIと異なってました(もちろん、マニュアル本も)

今回は、自分自身の備忘録兼ねて、「GTMでリンククリック」を計測する方法をご紹介します。

Google Tag Manager(GTM)とは


 Googleが無償で提供している「タグマネジメントツール」です。
同ツールから生成されたGTMタグ(一種類のみ)を全ページに貼り付けておけば、あとは、GTM管理画面から下記のような複数タグの設定が全ページ一括で導入出来ます。

-GAの「ページビュー計測」タグや
-コンバージョン計測タグ
-Eコマース計測タグ
-リンククリック計測タグ
-リマーケティング広告タグ 等

 以前は上記にあるような複数のタグを各ページに手動で貼り付けていたため、管理が大変煩雑だったのですが、「タグマネジメントツール」を導入すればそのような工数を一気に削減できます。

GTM導入の要件確認


 今回は、「焼肉の街」としても有名な「北海道北見市」が誇る名店「ここだけ野付牛(のつけぎゅう)」ページへのGTM導入を例に手順をご紹介します。・・・おっと!こちらは、私の実家ですよ(笑)


 上記画面の一番下には、当店が「食べログ」ページで提供する「クーポン」へのリンクが設定されたバナーがあります。店長(ボクのパパですw)の気まぐれで、特別な部位のお肉や当店特製ソーセージ等をクーポンを提示して頂いたお客様にプレゼントしております。新規で来店されたお客様の利用率が高いなど、経営的にも重要な施策であるため、このクーポンのリンククリック数をGA上で明確かつ即座に把握したいです。

 それっぽく纏めると、以下のような感じです。


(1)要件(やりたいこと)の確認
「ここだけ野付牛」ページ(※1)内にある「同店舗用食べログ」クーポンバナー(※2)のクリック回数をGoogle Analytics(以降:GA)の「行動-イベント」画面で計測したい。

※1:http://odafarm.com/notsukegyu/
※2:http://tabelog.com/hokkaido/A0110/A011003/1012500/dtlmap/?lid=tocoupon3

(2)「行動-イベント」画面での表示イメージ
 1.イベントカテゴリ:リンククリック
 2.イベントアクション:http://odafarm.com/notsukegyu/
 3.イベントラベル:http://tabelog.com/hokkaido/A0110/A011003/1012500/dtlmap/?lid=tocoupon3

GTMの導入手順


 Google Tag Managerのアカウント登録は完了している前提で説明に入ります。

 1.GTM画面から「変数」をクリック
「Googleタグマネージャー」の「アカウント」タブで上記設定を行いたい「コンテナ名」をクリックします。
GTMデビューの方は「コンテナとはなんぞや?」だと思いますが、簡単に言うと、「GTM内で管理するホームページ単位ごとの箱」です。

自分は、今回ご紹介する焼肉店(odafarm)と当ブログ(Sapporo Marketing Blog)用に2つのコンテナを作っています。



2.「変数」をクリック
「ワークスペース」タブの左側メニューにある「変数」をクリックします。


3.「Click URL」変数と「Page URL」変数を有効にする
「組み込み変数」の一覧に「Click URL」「Page URL」が表示されていない場合は、「設定」ボタンから当該変数を有効化します。


4.「トリガー」設定の要件確認
タグを配信する条件=「リンクがクリックされたとき」に当たるトリガーを設定します。
上記をもう少し細分化すると、下記に分けられます。

1.どのページで「トリガー」を発するタグを配信したいか
2.どのリンクをクリックした時に上記タグを有効化(=GAにイベント発生したよ!を連絡すること)したいか

また、GTMにおけるトリガー画面の設定上、下記のようになるとお考えください。

 1=「Page URL」変数
2=「Click URL」変数

まだよくわからないかもしれませんが、現時点では、だいたいの雰囲気で大丈夫です。

5.「トリガーのタイプ」を選択
「トリガーのタイプを選択して設定を開始...」の上の○型アイコンをクリックしてください。
右側に表示されたメニューから「クリック→リンクのみ」を選択してください。


6.「トリガーの設定」における各項目を設定
・画面左上の「×________」:
 お好きなトリガー名称を入力してください。今回は「tabelogクーポン_Click」としました。

・タグの配信を待つ:
 チェックボックスをクリックしてください。

・「待ち時間の上限」:
 デフォルト値のままでOKです。

・「検証をチェック」:

・「これらすべての条件がtrueの場合にこのトリガーを有効化」:
 -右側のプルダウン:「Page URL」を選択
 -真ん中:「含む」のまま
 -右側の記入欄:http://odafarm.com/notsukegyu/

 上記の意味は、「http://odafarm.com/notsukegyu/」という「Page URL」を含んだページにアクセスした場合にこのトリガーを有効にするよ という意味になります。

・「このトリガーの発生場所」:
「一部のリンククリック」を選択してください。仮に上記「Page URL」に複数のリンククリックがあった場合、「すべてのリンククリック」を選択すると、文字通り全てのリンククリックをイベントとして計測してしまいます。これでは荒いので、「一部のリンククリック」を選ぶわけですね。
※実際は、クーポンへの導線は一つだけなので、「すべてのリンククリック」でも問題ないですが。

・イベント発生時にこれらすべての条件がtrueの場合にこのトリガーを配信します:
 -右側のプルダウン:「Click URL」を選択
 -真ん中:「含む」のまま
 -右側の記入欄:http://tabelog.com/hokkaido/A0110/A011003/1012500/dtlmap/?lid=tocoupon3


以上で「ここだけ野付牛食べログページ」のバナーをクリックされた場合に限ってトリガーを配信することになります。

 入力が終わりましたら、画面右上の「保存」ボタンを押してください。

7.「タグ」の作成
「ワークスペース」タブ画面の左側メニューにある「タグ」をクリックし、「新規」ボタンを押してください(画面では既に登録済みです)


8.タグの設定
「タグタイプを選択して設定を開始...」の上にあるタグアイコンをクリックしてください。右側に「タグタイプを選択」が表示されますので、「ユニバーサルアナリティクス」を選んでください。

・トラッキングID:
今回、タグを仕込みたいGAのトラッキングIDを入力してください。
(GA管理画面で「UA-XXXXXXX-X」で表示されているIDです)

・トラッキングタイプ:
「イベント」を選択してください。

以降は「(2)「行動-イベント」画面での表示イメージ」で記載したGAでの表示情報と連動します。
 
・「カテゴリ」(GAの「イベントカテゴリ」で表示させる情報):
任意入力なので、この場合は「リンククリック」としておきましょう。

・「アクション」(GAの「イベントアクション」で表示させる情報):
右側のボタンから「Page URL」を選択してください。入力ボックス欄に「{{Page URL}}」と表示されます。

・「ラベル」(GAの「イベントラベル」で表示させる情報):
上記と同様に「Click URL」を選択してください。入力ボックス欄に「{{Click URL}}」と表示されます。


以上で設定完了です。画面右上の「保存」ボタンを押してください。
あとは、画面右上の「公開」ボタンを押せば上記で設定したGTMタグが公開されます。
かなり長くなってしまったので、一部省略して、GAでの動作確認だけ触れておきます。

9.GAでのイベント計測状況の確認
「GAレポート」タブの「イベント」→「サマリー」を選択してください。
右側に「上位のイベント」エリアがあり、先ほどGTMで設定した下記情報が表示されるようになります。

 1.イベントカテゴリ:リンククリック
 2.イベントアクション:http://odafarm.com/notsukegyu/
 3.イベントラベル:http://tabelog.com/hokkaido/A0110/A011003/1012500/dtlmap/?lid=tocoupon3


一通りの手順としては以上です。
操作しながら感じたのですが、GTMはその操作を覚えることも大切ですが、事前にどの程度「分析の要件(やりたいこと)」を明確に整理できるかが肝かなと思います。

Google Tag Manager(GTM)関連のエントリー


「Google Tag Managr(GTM) Assistant」のバグに御用心
http://sapporomkt.blogspot.jp/2016/12/google-tag-managrgtm-assistant.html

ますます進むメディアと焼肉屋の融合~GTMで行う仮想PV計測
http://sapporomkt.blogspot.jp/2016/12/gtmpv.html 

2016年11月7日月曜日

ggplot2でクロス集計的に複数グラフをプロットする方法

R(Rstudio)を使って分析を行う際、細かな分析に入る前にザックリとデータ内容を俯瞰したい場合がありますよね。

幾つか方法はあると思いますが、以前、当ブログでご紹介した「gridExtra」パッケージを使う以外に簡単なやり方があったのでご紹介します。

サンプルコードのご紹介


# 必要なパッケージのロード
library(ggplot2)
library(useful)

# もやはおなじみ。ポルトガル銀行のダイレクトマーケティングデータを読み込み。
# ちなみに、「stringsAsFactors」を指定しないと、文字列が勝手に「factor」型に
# なってしまいます。
bank.dat <- read.csv("bank-full_for_R.csv",sep = ";", stringsAsFactors = FALSE)

# データフレーム名を指定するのが面倒なのでattachします。
attach(bank.dat)

# 「x軸にduration(持続時間)、y軸にageを置きます」指示
ggplot(bank.dat, aes(x = duration, y = age)) +
# プロットするポイントの色はy(ダイレクトマーケティングの結果)
geom_point(aes(color=y)) +
# グリッド(格子)のy軸を「education(受けた教育レベル)」、x軸を「marital(婚姻状況)にします」指示。
facet_grid(education ~ marital) +
xlab("duration") +
# angleはx軸の目盛ラベルの角度
theme(axis.text.x=element_text(angle = 45, hjust = 1, vjust=.5)) +
# 最後の行を外すと「1K」が「1000」となってカッコ悪いので。
scale_x_continuous(labels=multiple)


その他のR言語エントリー


R開発環境が無料で簡単導入!「Data Scientist Workbench」を使ってみた。
http://sapporomkt.blogspot.jp/2016/10/rdata-scientist-workbench.html

RMeCabで形容詞の形態素解析をやってみた。
http://sapporomkt.blogspot.jp/2016/07/rmecab.html

(R言語)道内空港間の流通量を可視化してみた。
http://sapporomkt.blogspot.jp/2016/02/r.html
 
【R言語】leafletで札幌市内のサツドラをプロットしてみた。
http://sapporomkt.blogspot.jp/2016/01/rleaflet_4.html

(R言語)当ブログアクセス者の興味関心事をコレポン(コレスポンデンス)した。
http://sapporomkt.blogspot.jp/2015/12/r.htmlhttp://sapporomkt.blogspot.jp/2015/12/r.html

2016年10月30日日曜日

R開発環境が無料で簡単導入!「Data Scientist Workbench」を使ってみた。

わたくし、統計解析言語の「R」が好きです(もちろん、SPSSも好きですよw)。
知人や友人に「Rっていいよ!」と熱っぽく進めるものの、不慣れな方だと開発環境を準備するだけでも大変なのは事実と言えば事実。

Rの開発環境といえば「RStudio」が有名ですが、R(r-base)のバージョンと合わせる必要があったり、個別パッケージにもバージョン問題があったりと・・・まぁ、オープンソースなのでそれなりに手間がかかるとです。

しかーし!そんなあなたに朗報です!
出でよ、ロデーム!(古いw)・・・じゃなくって、「Data Scientist Workbench」!!
今日は、このサービスを使って、下記のようなグラフを作ってみます。



 ※本エントリーは、私、小田一弥が一個人として勉強を兼ねて記載したものです。私の勤務先である日本アイ・ビー・エム株式会社の見解・見識ではない、個人としての記載内容としてご覧ください。   


「Data Scientist Workbench」とは


IBMが提供する無料のデータサイエンス作業環境です。簡単な利用登録だけで、下記のデータ準備/分析環境が即座に利用可能になります。

<データ準備環境>
・OpenRefine

<データ分析環境>
・Jupyter Notebook
・Zeppelin Notebook
・RStudio IDE
・Seahorse

利用申請は下記サイトの解説を御参照ください。
Data Scientist Workbench 入門

手順とサンプルコードのご紹介


1.利用申請後、「Data Scientist Workbench」にアクセス。
 https://my.datascientistworkbench.com/ 

2.「RStudio IDE」をクリック
下記画面の赤枠内にある「RStudio IDE」ボタンをクリックしてください。
「今、何がしたいですか?」って、まぁ、直球ですね(笑)


3.下記コードを実施
上記ボタンをクリックした後、「準備できるまで2~3分かかります」的なメッセージが表示されますが、実際はそんなにかかりません。

下記のようにローカルPCにインストールする「RStudio」と同じ画面が表示されるはずです。



# 必要なパッケージのインストール
install.packages("gridExtra")
install.packages("ggplot2")

# 必要なパッケージのロード
library(ggplot2)
library(gridExtra)

# Jared P.Landerさんが公開しているNYCのオープンデータを読み込ませます。
# ちなみにこの方、「みんなのR~データ分析と統計解析の新しい教科書」の著者さんですが、この本、とっても分かりやすくて、かつ実践的なのでオススメです。
housing <- read.table("http://www.jaredlander.com/data/housing.csv",sep=",",header=TRUE,stringsAsFactors = FALSE)

# Lander先生の御指示どおり、列名を変えます。
names(housing) <- c("Neighborhood","Class","Units","YearBuilt","SqFt","Income","IncomeperSqFT","Expence","ExpencePerSqFt","NetIncome","Value","ValueperSqFt","Boro")

# お部屋のUnit数が1000以上って「?」なので、Units1000未満に絞り込みます。
housing <- housing[housing$Units < 1000,]

# 下記のようにするとdataframe名を都度指定しなくても済みます。今回は不要ですけど。
# ちなみにattachを外すときは、「detach()」でお願いします。
attach(housing)

# ggplto2で各グラフを生成します。ちなみに「fill = Boro」は「Boro別に表示してね」の意味です。
Units.graph <- ggplot(housing, aes(x = Units, fill = Boro)) + geom_histogram()
YearBuilt.graph <- ggplot(housing, aes(x = YearBuilt, fill = Boro)) + geom_histogram()
ValueperSqFt.graph <- ggplot(housing, aes(x = ValueperSqFt, fill = Boro)) + geom_histogram()
Income.graph <- ggplot(housing, aes(x = Income, fill = Boro)) + geom_histogram(binwidth = 500000)

# 4つのグラフを2列に配置
grid.arrange(Units.graph,YearBuilt.graph,ValueperSqFt.graph,Income.graph,ncol = 2)

# 冒頭のグラフが表示されます。ggplot2なので、とても艶っぽくて「それっぽい」感じです。

2016年9月19日月曜日

SPSS Modelerだと「Kohonenネットワーク」が超簡単。

今年、一気にブレイクした「ディープラーニング(深層学習)」。どなたでも耳にされている言葉だと思いますが、合わせて「ニューラルネットワーク」や「ニューロン」というワードもかなり広まりましたよね。

<「ディープラーニング」に引きづられるように伸張する「ニューラルネットワーク」(google trend)>

実は、SPSS Modelerの中にも「ニューラルネットワーク」の技術を使ったクラスター分析として、「Kohonen(コホーネン)ネットワーク」という機能があります。
今回は簡単にその作業手順をご紹介してみます。

 ※本エントリーは、私、小田一弥が一個人として勉強を兼ねて記載したものです。私の勤務先である日本アイ・ビー・エム株式会社の見解・見識ではない、個人としての記載内容としてご覧ください。  


Kohonen(コホーネン)ネットワークとは


(Self-organizing maps, SOM, Self-organizing feature maps, SOFM)
フィンランドのコホーネン教授が考案したニューラルネットワークの一つであり「教師なし学習」に分類されます。生物の脳を構成する神経細胞(ニューロン)の動きをアルゴリズムで模しており、その特性上、クラスター分析にも活用することが出来ます。

今回使ったサンプルデータとPC環境


<サンプルデータ概要>
・サンプルデータ名:Bank Marketing Data Set
・データ概要:ポルトガル銀行が電話を使ったダイレクトマーケティングを実施した際の計測データ。
・データ作成時期:2012年2月

 当データですが、あまり事例として少ない「ダイレクトマーケティング」の実測値でして、インスタンス数(45,211)やattribute(17)も多く、欠損値も含まれていないのでとても有用なデータかと思います。
(以前、重回帰分析を「airquality」データセットで行いましたが、こっちでやれば良かったなぁと)

<PC環境>
・OS:Windows7 Professional
・SPSS Modeler ver18 Premium

作業手順


「ニューラルネットワーク」と聞くと、なんだかとても難しいと思うかもしれませんが、手順自体は拍子抜けするほど簡単です。
サンプルデータもダウンロード後にデータ加工が殆ど不要なため、是非、一度お試しください。


1.「可変長ファイル」ノードを配置
今回は、CSVファイル形式を読み込みますので、「入力」パレットから「可変長ファイル」ノードをストリーム上に配置してください。

また、プレビュー欄を見ると各フィールドは「;」で区切られているため、ダイアログ左下にある「フィールド区切り文字」の「その他」に「;」を入力してください。


2.「データ検査」ノードを配置
いつもどおり、「出力」パレットから「データ検査」ノードを配置して、データの分布や欠損値等を確認してください。


3.「データ型」ノードを配置
次に、「フィールド設定」パレットから「データ型」ノードを配置し、各フィールドのデータ型が完全に指定されているかチェックしてください。


4.「Kohonen」ノードを配置
「モデル作成」パレットから「Kohonen」ノードを配置し、「データ型」ノードからストリームをつなげてください。

その後、「Kohonen」ノードを開いて「モデル」タブで「ランダムシードの設定」を変更してください。
「ニューラルネットワーク」を使う際は、最初に初期値を設定する必要がありますが、このシード値を固定で入力しないと毎回異なる結果になってしまいます。変に混乱しないよう、「シード値は毎回1,000を入れる」といった決まりにすると宜しいかと思います。


5.「エキスパート」タブで「幅」と「長さ」を指定
「Kohonen」の出力層の格子数を設定します。デフォルトは格子数が多すぎるため、「縦:3」×「横:3:の合計9マスに変更します。


上記画面だけでは「格子」感が伝わらないと思ったので、この設定で計算させた場合の「Kohonen」出力層の様子も掲載しておきます。「縦3つ」「横3つ」になっていることがわかりますよね。


6. 「フィールド」タブでフィールドを選択
今回は、「age」「balance」「duration」「pdays」を選択してください。
各フィールドの意味はこちらのリンクを御参照ください。
フィールドの入力が済みましたら、「実行」ボタンを押してください。


7.「Kohonen」ナゲットをクリック
以前、当ブログで紹介したK-Meansと比べると計算量が多いので若干時間がかかりますが、ある程度のスペックがあればそれ程気にはならないと思います。
ナゲット(「Kohonen」)が生成されましたらダブルクリックで開いてください。

(参考)SPSS Modelerでクラスター分析をやってみた(K-Means)
http://sapporomkt.blogspot.jp/2016/08/spss-modelerk-means.html


8.モデルの確認
ナゲットを開くと、下記のような画面になると思います。

「Cohesionと区切りのシルエット指標」というSPSSが独自に生成するクラスター品質を見ると、まずまずのモデルであることがわかります。
(「Cohesionと区切りのシルエット指標」の詳細はこちらをご覧ください)


また、左下の「モデル要約」を「クラスター」に変更すると下記数表が出力できます。
色の濃さは、クラスター分類における重要度の高さを表しており、「age(年齢)」や「pdays(前回キャンペーン時に接触してからの経過日数)」の影響度が高いことが見てとれます。
逆に「duration(最後に電話で話した時の秒数)」はあまり影響がないことがわかりますね。


このような手順で拍子抜けするほど簡単に 「ニューラルネットワーク」の技術を使ったクラスターを作ることが出来ます。ただ、先人が今までマニュアル的に行っていた試行錯誤を行う手間がない分、「どのようなロジック・考え方でクラスターが生成されたか?」「欠損値の取扱いは?」など充分考慮して使うことも大切だよ!・・・と大先輩から日々御指導を頂いております(笑)

その他:SPSS Modeler関連エントリー


(無料)Watson StudioでSPSS Modeler flowの決定木を動かす

(Watson)Personality InsightsのJSONをR言語でパースしてみた

Watson Studioの「Data Refinery」機能で「馬の疝痛(せんつう)」データを眺めてみた。

SPSS Modelerでアソシエーション分析がしたいっ! (前処理編〜縦持ちを横持ちへ)
http://sapporomkt.blogspot.jp/2017/06/spss-modeler.html


(参考)SPSS Modelerでクラスター分析をやってみた(K-Means)
http://sapporomkt.blogspot.jp/2016/08/spss-modelerk-means.html


SPSS ModelerからStatistics用ファイルを出力する方法
 http://sapporomkt.blogspot.jp/2016/08/spss-modelerstatistics.html

(SPSS Modeler)馬の疝痛データを誰でもカンタン決定木♪
http://sapporomkt.blogspot.jp/2016/07/spss-modeler.html

「SPSS Modeler Text Analytics」によるテキストマイニング(データ読み込みからグラフ化)
 http://sapporomkt.blogspot.jp/2016/07/spss-modeler-text-analytics.html

「SPSS Modeler」におけるデータ操作及びシーケンスデータの取り扱いまとめ
http://sapporomkt.blogspot.jp/1970/01/spss-modeler_1.html

SPSS Modelerでリーディングサイアーデータ分析:前処理(レコード追加等)
http://sapporomkt.blogspot.jp/2016/05/spss-modeler.html

SPSS Modelerで「サイアー/ブルードメアサイアー」データをレコード結合
http://sapporomkt.blogspot.jp/2016/05/spss-modeler_13.html