俺のOneNote

俺のOneNote

OneNote愛のポエムが9割、Tipsが1割の大変ありがたいブログです。

使わないと時代遅れ?BIが実現するデータ分析の高度化・民主化・効率化の話

BI(ビジネスインテリジェンス)ツールということば、
かなり広まってきたような気がします。

一方で、
「BIツールなんて難しそう」
「普段の仕事に高度なツールなんて不要」
「そもそもメリットが分からない」
という方々も少なくないのではないかと。

本記事は、Microsoft Power BI Advent Calendar 2018として、
Microsoftが提供しているBIツール「Power BI」を例にとり、
そのメリットや課題について、全くBIを使ったことがない人にもわかるようにお伝えしていこうと思います。


データ分析の高度化・民主化・効率化

BIを活用する理由はこの3点に集約されるというのが私の考えです。
これらの言葉を聞いて少しでも関心を持ったら少しでもBIの利用・運用について試してみて損はないと思います。

以下、具体的にどのようなことがあげられるか見ていきましょう。

データ分析の高度化

グラフの可視化、ピボットテーブルなど、初歩的なデータ分析においてExcelが最もビジネスにおいて利用されてきた(されている)のではないでしょうか。
これについて、Excelが良い・悪いという話ではありません。
Excelの小回りの良さはビジネスのあらゆる場面で重宝しますし、多様な関数、VBAにより、柔軟に分析ニーズに応えることも可能です。

また、Excel標準機能では難しい統計解析・可視化についても、以下のような統計解析・可視化ツールも無償・有償で取り入れることができます。 以下ツールはいずれも大変優秀な機能を有しています。

appsource.microsoft.com

norimune.net

bellcurve.jp

このような応用範囲の広さと深さ、そして手軽さから、Excelは使い続けられてきました。

そのほか、データ分析の高度化という意味だけで言えば、統計解析を得意とするR言語や、機械学習ブームで人気急上昇中のPythonといったプログラミング言語を利用する方針もあります。

R: The R Project for Statistical Computing

Welcome to Python.org

このような様々な選択肢がある中、BIツールにおいても単なる可視化にとどまることなく、統計解析、機械学習といった解析的な技術が利用できるようになってきています。
Power BIでは以下のような機能や流れがあります。


Python、Rの統合

Power BI では、PythonやRのスクリプトを実行できるようになっています。
Pythonプレビュー機能

powerbi.microsoft.com

docs.microsoft.com

恥ずかしながら、Power BI × Python や Power BI × R などについて、以下QiitaやYoutubeにて解説していますので気になる方はぜひご覧ください。

qiita.com

www.youtube.com

Python・Rの統合により、Python・Rで提供されている高度な統計解析・機械学習・可視化ライブラリの恩恵を受けることができます。
さらに、「Rなんて書けないよ!」という方についても、Rの統計解析・可視化スクリプトを自動で実行してくれるカスタムビジュアルも複数提供されています。

docs.microsoft.com

BI上での統計解析・機械学習は日進月歩で進化しています。
そして、その流れをさらに加速させる動きがあります。
Power BIとMicrosftが提供するAI関連サービスとの統合です。


Azure Cognitive Servicesや Azure Machine Learningとの統合

2018年11月14日、Power BI Blogにて以下の案内がありました。

powerbi.microsoft.com

おそらく、多くの人が待ち望んでいるであろう、MicrosoftのBIツールとAIツールの統合を進めている趣旨の記事です。
すでに学習されたデータを手元のデータに適用できるAzure Cognitive Services、
手元のデータを学習させ、自身で様々な機械学習モデルが構築できるAzure Machine Learning、
これらがPower BIと統合すれば、BI環境はさらに高度化していくことは言うまでもありません。
それがほぼノンコーディングで実現できるのであれば、BIだけでなくAIの民主化にも寄与するものと思われます。

次は、データ分析の民主化の話です。


データ分析の民主化

データ分析の民主化。 煩わしい表現をしていますが、要はだれでも高度なデータ分析ができるようになることです。

インタラクティブなレポートの威力

BIは、データ分析結果の元ファイルを配布することを前提としていません。 分析結果は、レポートをWEB(クラウド)にアップロードしてステークホルダー間で共有することが基本です。
さらに、そのレポートはインタラクティブに動作し、共有者が自分の見たい視点で操作することができます。
これは以下サンプルから実際に体験してみましょう。

上記元データは、UCI Machine Learning RepositoryのAdultデータを利用しています。

このように、分析者が作ったレポートについて、分析・可視化などをしたことがないような人に対しても、 データドリブンな判断を促すことが可能になります。


WEB上のレポート、インタラクティブな操作が可能にするデータドリブンな判断

WEB上でインタラクティブなレポートを共有することについて、一番効果を発揮するのが、打合せや会議におけるブレーンストーミングなどではないでしょうか?

BIが日常の会議で活用されていない場合、以下のようになっていませんか?

f:id:kopaprin:20181201015830j:plain

データについて出てきた用意していない質問は、持ち帰りで分析、再度のレポート作成。
または、会議で言いっぱなしで特にその後検証することもなく終わる・・・。

これではせっかくの会議にかけた時間がもったいないですね。

BIを運用できるようになるとこう変わるかもしれません。

f:id:kopaprin:20181201020027j:plain

おそらく会議の成果やレポート作成にかかる手間の差は歴然ではないでしょうか? BI導入によるデータ分析環境の民主化は、データドリブンな判断を促すだけでなく、効率化にもつながります。

次は効率化の視点です。


データ分析の効率化

先ほどみたように、レポートがインタラクティブに動作することにより、レポートを何度も作成したり、Excelでグラフをつくり、PowerPointにまとめ・・・といったような作業の必要がほとんどなくなる可能性があります。

そのほかにも、BIにより効率化しそうなことは多々あります。

多様なデータソースから取得・自動更新

Power BIでのデータ分析の基本は、別に格納されているデータソースからデータを取得し、データモデルとして加工・可視化することです。

データソースは、Desktop上のcsvファイルからオンプレミスデータベース、クラウド、各種WEBサービスなど、多岐にわたります。

docs.microsoft.com

様々なデータソースから取得したデータは、一度宛先を指定すれば、自動的に更新が可能です。 ※更新の詳細は、以下リンク先を確認してください。

docs.microsoft.com

これにより、例えば月次、週次でまとめていたレポートなどを一切の手間なく、更新し続けることが可能になります。

ダッシュボードによる様々なレポートモニタリング

Power BI Serviceには、ダッシュボード機能があります。 これは、作成、WEBで共有したレポートの中から、自身に関係のあるビジュアル等を取捨選択し、1か所でまとめて管理できる機能です。 f:id:kopaprin:20181201022128p:plain

これにより、自身がチェックしたいデータやレポートだけを一元管理できる仕組みとなっています。 様々なデータの場所を覚え、いちいちチェックしに行く必要はありません。


ビッグデータの整形

複雑なビッグデータを可視化しやすく整形し、モデルとして取り込むのは非常に大きなリソースが必要なケースがありました。 それを簡素化し、クリック操作で分析しやすくするPower BI Dataflowsがリリースされました。(プレビュー)

docs.microsoft.com

これをうまく活用すれば、専門の技術者が何日も要していたデータモデルへの整形を、分析者が簡易に実行できるようになる可能性があります。


BIの運用に向けて

Power BIは無償にて始めることができますが、組織内共有など、ビジネスで本格的に扱うとなれば有料のサブスクリプションが必要になります。
他のBIツールについても、金額の大小はあれど、費用がかかるものがほとんどなはずです。
費用面は導入に向けて大きなハードルになると思いますが、そのほかにも乗り越えるべきハードルがあります。

BIは単なる可視化ツールではなく、インサイトを生むためのツール

BIツールは魅力的なツールであり、様々な可視化メニューが存在します。
一歩間違えると、「可視化」が目的になり、「インサイトを得る」ことが欠損してしまう可能性があります。
魅力的なビジュアルは重要ですが、5W1Hを踏まえたレポート設計が必要です。

  • Who(だれが見る・誰のためのレポートか)
  • When(いつ利用するレポートか)
  • Where(どこで利用されるレポートか)
  • What(なにを表現したいレポートか)
  • Why(なぜこのレポートを作るのか)
  • How(どのように使ってもらうレポートか)

これらを明確に応えられるレポートは、おそらくインサイトを生むことができるBIレポートです。

BI設計者の育成

設計者というと大げさですが、BIを導入し、活用していくためには既存情報システム部門だけでの取り組みでは不十分かもしれません。
BIが使われるかどうかは、さまざまなIT基板以上に経営・マーケティングなど、現場レベルで利用価値のある内容である必要があります。
現場の声をレポートに落とし込める設計者を育成することが欠かせません。

powerbi.microsoft.com


おわりに

昨今感じているBIを運用するうえで知っておいてほしいこと、ぜひ伝えたいことは記載できたつもりです。
しかし、Power BI をはじめ様々なBIツールの機能はこれだけでは語りつくせないことは承知しています。
この記事を読んで、少しでもBIに興味をもっていただければ本望です。

引越し時にOneNoteが最強だった件

先日、家族4人で10年住んだ名古屋から引っ越したわけですが、
その際にOneNoteが超便利だったという話です。

1 タスク管理に最強

引越しの際は、ライフラインの手配、保育園のあれこれ、引越し手続きのあれこれ、賃貸契約のあれこれなど、
やることがもりだくさんなわけです。

が、知っての通りOneNoteにはタスクシール機能があります。

f:id:kopaprin:20181021001005j:plain

これでTodoはばっちりです。

2 大事な情報管理に最強

退去の際に痛感したのですが、10年たつと、もろもろ契約書類や大事な書類がどっか行ってるわけです。

これはまずい

と思い、すべての重要な情報をOneNoteで管理することにしました。

やり方は簡単。 手続き等で発生した情報や紙をOneNoteで写真撮っておくだけ。 (必要であればメモも併記)

f:id:kopaprin:20181021001315j:plain

昨今はWEBが発達した関係で、色々なID、PASSが発生しますが、 いちいち覚えておかなくてもこれでばっちり!

※間違っても、ID、PASSを記載したノートを公開共有しないようにね♪

これで、ズボラな私のような人でも、ばっちり情報管理できそうですね!

引越しを備えている方、大事な書類や情報をすぐ失くしてしまう方、
ぜひOneNoteを使いましょう!

Matplotlib アスペクト比の調整

Matplotlibでグラフ描写する際、アスペクト比でちょっとはまってしまったので覚書メモです。

グラフ描写準備

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
plt.style.use("ggplot")

x = np.linspace(-3,3,100)
x2 = np.linspace(0,3,100)
f_y1 = np.exp(x)
f_y2 = np.log(x2)

グラフ描写

まずは普通に描写してみる。

#plt.figure(figsize=(6,6))
g = plt.subplot()
g.plot(x,f_y1, color="red")
g.plot(x2,f_y2, color="blue")
g.set_ylim([-3,3])
g.set_xlim([-3,3])

f:id:kopaprin:20180924005602p:plain

と、こんな感じでx,y軸の範囲は同じであるにも関わらず横長になる。
指数関数と対数関数の逆関数関係なので、できれば正方形で表示したいのです。

アスペクト比を調整するにはset_aspect('equal')を入れればいいらしい。

g = plt.subplot()
g.plot(x,f_y1, color="red")
g.plot(x2,f_y2, color="blue")
g.set_ylim([-3,3])
g.set_xlim([-3,3])
g.set_aspect('equal')

f:id:kopaprin:20180924005828p:plain

公式リファレンスはこちら


figsizeでも上手くいく。個人的にはいつもコレでサイズ調整することが多いので、 こっちを使っておいて良さそう。

plt.figure(figsize=(5,5))
g = plt.subplot()
g.plot(x,f_y1, color="red")
g.plot(x2,f_y2, color="blue")
g.set_ylim([-3,3])
g.set_xlim([-3,3])

f:id:kopaprin:20180924010102p:plain

ママパパの味方! OneNoteでレシピ管理

以前の記事OneNoteのWeb Clipを紹介したところですが、レシピの保存もできることをご存知でしたか??

適当なレシピサイトを開いて・・・

レンジで簡単!チーズデミグラオムライス♪

web clipを起動すると・・・

f:id:kopaprin:20180920140017p:plain

レシピ用のClipが表示されるんですね。

OneNote上でもキチンと材料と調理工程が確認できます。

f:id:kopaprin:20180920140335p:plain

ばっちりですなぁ。

献立で悩めるパパ・ママ、手当たり次第に気になったレシピをOneNoteにぶち込んでみてはいかがでしょう?

はじめてのてんしょく

私事ではございますが、この度転職させていただくこととなりました。

本日が最終出勤日、10月16日から渋谷で働きます。

引越しなども伴う家族総出の大決断になってしまいました。

今後は、企画&ポイント事業会社さんでデータアナリストとして働きます。

データ解析については今以上に専門性が求められるので、身が引き締まる思いです。

そして次職でもOneNoteが使えるといいな・・・(笑)

OneNoteはいろんな人にやさしいユニバーサルデザイン【イマーシブリーダーの紹介】

先日OneNoteでメモメモしてたらこんなのを発見したんです。

f:id:kopaprin:20180822010908p:plain

イマーシブリーダー?なんじゃらほい?

ってことで調べてみました。

onenote の学習ツールに含まれているイマーシブリーダーは、onenote ドキュメントのコンテンツを読みやすくするための全画面閲覧のエクスペリエンスです。学習ツールは、教室で失読症と dysgraphia の学生をサポートするように設計されていますが、デバイスで読みやすくする必要があるユーザーをサポートすることができます。

Use Immersive Reader for OneNote (OneNote のイマーシブ リーダー機能を使用する)

ほええ、いろんな人に配慮してるんでござるねぇ。

こんなふうになります。音声が出せないのであとは皆さま自身でお試しあれ。

f:id:kopaprin:20180822011933g:plain

Pythonコーディング・データ分析のお勉強方針メモ

QiitaにてPython×PowerBI記事を連載することにしました。

PowerBIはともかく、初心者の方はPythonの敷居がめちゃくちゃ高い方も多いのではないかと思います。

私自身、胸を張って書けると言えるレベルではないですが、 どのようにしたらPythonで楽しくコーディング・データ分析できるレベルになるか、 勉強の方針だけ書いていきたいと思います。

※だいたい予算1万円ほどご用意を!

いきなりPython初心者本を開くの禁止

これは私が最初にハマった問題。 いきなりPython初心者本を開くのは、相当モチベーションが高くないかぎりやめたほうがいいです。

※例えばこんなやつとか(説得力無いですが、間違いなく良書です)

みんなのPython 第4版

みんなのPython 第4版

どんなことができるのか体験する

Pythonを使ったデータ分析でどんなことができるのか視覚的に体験してみるのがとてもいい感じ。 たとえばUdemyの以下コースは最初に取り組むにはとてもおススメ(一部、内容が古くてうまく実行できないフローがあります。)

www.udemy.com

コーディング?知らなくても大丈夫です。見様見真似にまずはやってみましょう。 コースの中に簡単なPython構文の解説動画が載っているので、それを最初に見るのが効率的かと。

環境構築でくじけない

上記コースでも案内がありますが、Pythonでは環境構築が最初のカベとして立ちはだかります。 ここで心折れてはいけません。

Anacondaを利用した環境構築

まずは王道かつ簡単なAnacondaを利用した環境構築です。 詳細はこちら。

qiita.com

クラウドを利用した環境構築

環境構築というか、クラウド上の環境を利用するため、”環境構築不要”で実行できる方法です。

Azure Notebook

Google Colabratory

いずれも、簡単なアカウント登録のみで無料で利用できます。 GoogleColabのほうはデータ取り込み等のクセが強いため、初心者の方はAzureのほうをおススメします。 ただ、いずれもクラウド上の環境であることを前提にする必要があり、最初はAnaconda等のローカルの環境に慣れたほうが無難です。

Pythonの基本を覚える

Udemyでどんなことができるか体験し、ちょっとしたコードの記載方法を覚えたら、自分でガシガシ書けるようになりたくなっているはず。 この下地ができてから、Pythonの基本をみっちり叩き込むようにしましょう。

初心者本を利用する

最初に紹介した以下みんなのPythonはまぎれもなく良書だと思います。 ある程度下地があれば、あいまいなところをかいつまんで読むぐらいでOKだと思います。

みんなのPython 第4版

みんなのPython 第4版

オンライン学習サービスを利用する

今はオンライン学習サービスがとても充実しています。 私が利用したのはProgateのサービス。月額約1,000円くらいで、コーディングの基本をブラウザ環境のみで覚えることができます。

prog-8.com

ちょっと技術力を高めたければ、ゲーム感覚で以下のようなものも面白そうです。

checkio.org

データ分析特有のライブラリ等の使い方を覚える

絶対にはずせないライブラリは以下のとおり

この辺は、以下のようなデータサイエンス基礎本でみっちり修行しつつ、 実践&ググるで育てていくしかないのではないかと思います。

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

Pythonによるデータ分析入門 第2版 ―NumPy、pandasを使ったデータ処理

[第2版]Python 機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)

[第2版]Python 機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)

もしくは、データ分析・機械学習系のオンライン学習を利用するのもとてもよいのではないかと思います。(私は未実施)

aidemy.net

統計・機械学習のキソを覚える

データ分析したければ、最低限の統計スキル(必要に応じて機械学習も)が必要になります。

統計のキソ固めはここで十分

bellcurve.jp

書籍系だとPython×データ分析系の書籍がいろいろ優秀。

Pythonで学ぶあたらしい統計学の教科書 (AI & TECHNOLOGY)

Pythonで学ぶあたらしい統計学の教科書 (AI & TECHNOLOGY)

Pythonで動かして学ぶ! あたらしい機械学習の教科書

Pythonで動かして学ぶ! あたらしい機械学習の教科書

実践してみる

ある程度基礎固めをしたら、あとは実践の中でいろいろ覚えていくしかないような気がします。 というか、ここまでこなせれば自然と自分で学習できていきますので、あまり解説は不要なのですが・・・(笑)。

kaggle

Kaggle: Your Home for Data Science

言わずと知れた、機械学習コンペサイトです。 kaggleのいいところは、他の人が書いたコードをkernelで確認できること。 写経がはかどりますw

SIGNATE

signate.jp

こちらも日本版のコンペサイト。 ほかの人のコードは見れませんが、英語が不自由な方はこちらから挑戦してもいいかも。

おわりに

プログラミング初心者でも、Udemyみてprogateやっていくつかデータ分析本回れば、あとは自然と自分でいろいろやりたくなると思います。 最初のカベは高そうですが、一回やってみると意外と食わず嫌いであったことが分かります。 理系・文系とか、英語の羅列みると意味ぷーとか言う前に、まずは一歩目を踏み出してみましょう!