かざいむ日誌

IT関係で知ったことなどを記事としてあげていきます。内容に不備や質問などあればぜひコメントをよせてください。

社会人のためのデータサイエンス入門 第2週 標本分布

www.stat.go.jp

 

統計では対象すべてを調べる全数調査と一部のみ選んで調べる標本調査がある。この全数調査ではすべての対象をとらえることができるが、標本調査では母集団の一部だけのため、偏った一部のみを抜き出してしまう可能性がある。そうすると標本のデータは信用できないということになって困ってしまう。そこで標本を何度も取った場合のデータをまた分布として想定する。この分布は正規分布になり、誤差が計算できるため、標本の平均から母数の平均が計算できる。

眠いと人に優しくなれない。もう少ししたら寝ます。おやすみなさい。

f:id:name_untitled:20180614221002j:plain

Photo by Krista Mangulsone on Unsplash

この間の状態がまだ続いている。

nameuntitled.hatenablog.com

ブログを書くのとともに、仕事や雑用をやってて寝るのが12時半とかになるのがこの1週間続いてる。それでふと気づくと何か、億劫に感じたり、被害妄想になりがちな気がしている。同僚が悩んでるときにアドバイスするのがちょっと遅かったり、自分ばかり頑張ってるのに他の人は認めてくれないような気がしたり。これは早く気付けて良かったが、このまま行くとけっこう危なかった。

気付くポイントとしては、気になることとかについて前にもこんなことあったかな、認めてくれないような気がするけど、何でそう思うのか、そういう状況にいるのは本当に自分だけかな、とちょっと考えてたら大分客観的に考えられました。

という訳でまずは睡眠を確保します。11時過ぎまでは起きてると思うけど、とりあえずおやすみなさい。 

アメリカ人の1日のデータ可視化が面白かった。

ツイッターで、@readymadegogo 松田直樹さんの発表についてツイートが流れてきて、最近SVG面白そうだなと思っていたので、ちょっと発表資料とかググってたら思っていたのを越えて面白そう。Visualizationに興味あったけど、データのアニメーションとか色々とキーワードが出てきて仕事にならない。まずは松田さんの紹介するこのサイトを見てみてほしい。

f:id:name_untitled:20180613221030p:plain

A Day in the Life of Americans | FlowingData

speakerdeck.com

そして、これがその松田さんの発表資料。

今まであまり知らなかったけどこの分野色々と出来そう。そして、SVGJavascriptで色々出来るならデザイナ、クリエーターでなくてもちょっと面白いもの作れそう!

後で自分が見るように松田さんの2年前?の発表動画のリンクを貼っておく。

vimeo.com

 

あと、上の可視化のサイトは独立の団体?か何かで、月$11ドルとかでチュートリアルとか見れるらしい。これもすごく良さそう。サイトを覗くだけでも色んなグラフが出てきて面白い。

flowingdata.com

あと、松田さんの紹介するSVGアニメーションのライブラリ、Tween.jsのShowcaseのサイトも面白い。名前がGreensockなのかTweenなのかよく分からんけど。

greensock.com

社会人のためのデータサイエンス入門 第2週 回帰分析

2種類以上のデータの間の関係を読み取る方法を回帰分析という。

予測したい値のことを目的変数、分かっている値を説明変数という。

平たく言うとY=aX+bの式を求めること。

 

例えば降雨量を予想するのに、気圧、風速、湿度が影響すると考える。

湿度から降雨量を予想する場合、湿度を説明変数、降雨量を目的変数といい、説明変数が1つなので、単回帰分析と呼ぶ。この場合は2次元のグラフ上に点の一番真ん中を通るように直線を引く。このY軸の時の値のことを切片、変化の度合いを傾きという。

https://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Normdist_regression.png/300px-Normdist_regression.png

回帰分析 - Wikipedia

 

一方、気圧、湿度から降雨量を予想する場合、気圧、湿度が説明変数、降雨量が目的変数となり、説明変数が2つなので重回帰分析と呼ぶ。この場合では3次元のグラフを書き、点の一番真ん中を通る平面を求める。

基本は曲線、曲面ではなく、直線、平面らしい。なぜかは説明がなかったが、なんとなく平面の方が計算しやすいからなのではないかと思っている。曲線を求めることもあるらしい。

この線はきれいに引けない場合もあるため、どれだけずれが出ているかを確認する必要がある。求め方としては予測値と目的変数との差を2乗してデータの個数で割るという手順で、この値を残差二乗の平均という。

この回帰分析による予測値がない場合は指標となる数値は平均しかないため、平均値と実際の値との差を2乗してデータの個数で割って、残差の二乗を求める。

2つの変数の間に関係があれば、平均よりもうまく説明できるはずなので、回帰分析による予測値の残差の二乗の平均と、平均による予測値の残差の二乗の平均を比べると、誤差は回帰分析の方が少ないはずで、回帰分析による予測値の残差の二乗の平均の方が小さくなるはずである。

ただ、これは単位や用いる値によって大きさが変わるため、様々なデータで説明できている度合を統一的に比較する際に障害となる。このため、どれだけ点を説明できるかという指標を利用する。これを決定係数という。

決定計数とは、

(平均の残差の二乗の平均ー回帰分析の予測値の二乗の平均)÷平均の残差の二乗の平均
で求められる。

誤差が0ならば回帰分析の残差の二乗の平均も0になるはずで、そうすると、

平均の残差の二乗の平均÷平均の残差の二乗の平均

となり、決定計数は1となる。

 

一般的にはそんなことはないので、0~1の間となるらしい、とここまで書いて、完全に説明できたら1だけど、そうじゃなかったらマイナスにならんかな、と思ったのでもうひと調べ。どうやら、マイナスもなくはないそうだ。回帰分析の結果として出てきた予測だから平均よりかはちょっとはましだろうということだろうか。

sites.google.com

 

残差のイメージについては以下のサイトの絵が分かりやすい。

www.albert2005.co.jp

講演会に行ってきました。(Rochelle Kopp: 自分の組織でチェンジメーカー(変革を起こす人)になる方法)

今日はこのイベントに行ってきました。

codechrysalis.connpass.com

 

今日の講演の動画はFacebookで公開されてました。詳しい内容はこちらを↓。

www.facebook.com

スライドも共有していただきました。

www.slideshare.net

 

 

テーマは自分の組織で変革を起こすにはどうしたら良いかというもの。頭に残ったことをメモしておく。

組織の文化を変える手順は、Unfreeze→Change→Freezeするということ。最後にFreezeするのは変革を定着させるために必要。

より細かい手順では以下の8つのステップで進める。

1.危機意識を高める

2.変革推進のための連帯チームを作る

3.ビジョンと戦略を生み出す

4.変革のためのビジョンを周知徹底する

5.従業員の自発を促す

6.短期的成果を実現する

7.成果を生かして、さらなる変革を推進する

8.新しい方法を企業文化に定着させる

もし、5.で副作用が起きた場合は、一度改革を止めて原因を分析して、対策を行い、もう一度取り組むと良い。

Nothing succeed like a success.

成功事例が大事。成功したらそれが文化になる。

組織のトップから変革を起こしたい場合は、戦略を具体的なものに落とし込む必要がある。逆に、下から変革を起こしたい場合は危機感の共有が必要で、それが難しい場合は、先にチームで6.の短期的成果を生み出してそれを元に推進する。

重要なのは一人で抱え込まずに他人を巻き込むこと。また、今まではダメというのではなく、今までを元にさらに良くするという考え方で行う。今までの良いところをはっきりさせると、大事なところは変えないというのを示しやすい。

感想としては、自分の会社では、3.ビジョンと戦略を生み出す、4.変革のためのビジョンを周知徹底するの2点をもっと進めたい。今は危機感の共有は出来ているけど目指す姿が共有出来ていなくて、ベクトルが分散している感じ。

もう1つロシェルさんの言葉ではっとしたのは、危機意識を高めるには、現実に何が起きているかを知るのが大事、Get out of the building、現地・現物で確認するということ。お客、ターゲットのところに行って何が起きているかをしっかり観察すること。

言葉では分かってたけど、出来てなかったなぁ、、、。スキルアップなどの準備は考えていたけど現場にアプローチするまではやれていなかった。

 

参考リンクを追記

レヴィンとコッターの変革モデル

globis.jp

コッターの8段階の変革モデル

globis.jp

ASP.NET Web Forms でAutoFacを試す。

今さら感はあるけど、ASP.NET Web Formsで依存性の注入(DI)をやってみた。使ったのはAutoFacです。ちょうど最近MSDNのブログでASP.NET Web FormsにUnityを入れるという投稿があったけど、これは.NET Framework 4.7以降じゃないとダメなので断念。 

github.com

 

blogs.msdn.microsoft.com

上はMSDNとAutoFacのチュートリアルチュートリアルはAutoFacの方が丁寧で分かりやすいけど、MSDN Blogの投稿コメントがなかなか面白い。

Web Forms — Autofac 4.0 documentation

 

blogs.msdn.microsoft.com

すごいいいタイミングでUnityというDIライブラリをASP.NET Web Formsに導入するサンプルが出てるけど、これは、.NET Framework 4.7を使ってて、今のプロジェクトでは使えない、、、。AutoFacより簡単そうなのに残念。

 

定義をファイルから入れるようにしている人がいた。

ryuichi111std.hatenablog.com

qiita.com

社会人のためのデータサイエンス入門 第2週 関係の見方・相関係数

2つの変数の関係の見方を扱う。2つの変数が関係があるかどうかを見る場合にはまず、2つの軸の散布図を描く。そうするとなんとなく関係がありそうかどうかが分かる。

http://www.stat.go.jp/koukou/howto/process/images/p4_3_2_5_pic8.jpg

統計局のHPより

 

この散布図の情報を数値化して表すのが共分散である。共分散は、データ1つずつについて、変数1と変数2のそれぞれの平均との差をかけあわせた値を、データ全てで合計したものである。この値が0に近いと変数の間での関係は少なく、0から離れていると変数の間で関連があると見れる。

ただし、この値は単位の取り方によって値が大きく変わってしまう。平方メートルから平方センチメートルにすると上の散布図の共分散の値は大きくなる。

これを避けるために利用されるのが、相関係数である。相関係数は、単位を気にせず、変数間の関連を見ることができる値である。相関係数は、上の共分散を変数ごとの標準偏差の積で割ります。

なるほど統計学園高等部 | データの特性を見よう

 

共分散を標準偏差の積で割ることで、単位がそろい、結果として得られる相関係数は-1~+1までの値となる。-1に近ければ負の相関、+1に近ければ正の相関、0に近ければ相関がないということになる。

ただし、この相関係数は、変数間の直線的な関係性を見るのには良いが、曲線のパターンが現れていても相関係数は小さく見えるし、外れ値があると、大部分のデータを無視して相関が強く、または弱く出たりする。