雑記 in hibernation

頭の整理と備忘録

AWSで最短(?)Jupyter Notebook環境構築


AWSで分析環境を構築するにあたり、EC2内にJupyterNotebookの実行環境を構築してみました。手順についてはググるといろいろと情報が出てくるのですが、当方ド素人のため、とりあえず最小限・最短経路の手順を整理して備忘録としました。実使用の上ではセキュリティやユーザビリティを考慮して別途対応すべき項目が増えるかと思います。

主に以下のページを参考にしています。

dev.classmethod.jp

qrunch.net

0. やりたいこと

AWSのEC2インスタンス 上でJupyter Notebookを起動し、別端末からアクセスして利用したい。

続きを読む

住所データから日本列島を点描してみる


つい先日リリースされたばかりのようですが、こんなオープンデータがあるのを知りました。 住所データ、つまり大字・通称・町丁目までの地名とその緯度・経度を紐付けたデータセットです。

geolonia.github.io


で、この緯度・経度の位置情報を画像上の座標に片っ端からプロットしたら衛星画像みたくなんじゃね?と思ってやってみたところ、

f:id:toeming:20200823004653j:plain


なりました。

めっちゃ衛星画像っぽい。『トップをねらえ!』かと思ったわ。

さて、せっかくなのでこの住所データと政府統計とを組み合わせて、地域ごとの種々の情報を基に日本列島を色付けしてみました。

続きを読む

第一種の過誤と第二種の過誤を図で理解する

仮説検定における第一種の過誤とか第二種の過誤がややこしかったのですが、図で考えてみたら理解が進みました。 備忘録として残しておきます。

主にこちらの記事からインスパイアされています。リンク先の方は、サンプルサイズが大きくなると分布のばらつきが小さくなって検出力が上がるよ的な話です。 bellcurve.jp

そもそも、統計的仮説検定とは

母数に関する仮説を検証する統計手法です。

帰無仮説 H_{0} と、これに対して帰無仮説が成り立たない状態を表す対立仮説 H_{1} を設定します。帰無仮説 H_{0} が正しいという仮定の元で、ある統計量が従う確率分布が明らかであるとき、統計量の実現値が得られる確率を求めて事前に設定した有意水準と比較します。

実現値の確率が有意水準よりも低い場合(つまりサンプルから得られた統計量がレアケースとみなせる場合)は帰無仮説 H_{0} を棄却し、対立仮説 H_{1} を採択します。

実現値の確率が有意水準よりも高い場合(つまりサンプルから得られた統計量がそれほど珍しくないとみなせる場合)は帰無仮説 H_{0} は棄却できません。

仮説検定はその手続き上、正しい判定が得られない可能性が一定の確率で存在します。過誤は2種類存在し、「第一種の過誤」「第二種の過誤」と呼ばれています。

続きを読む

技術とバイブスの84年

500字を超えるくらいの文章を書くときはある程度構成や論旨を考えてから手を動かすのですが、この文章は完全に見切りで書き始めています。とにかく今思っていることを書き連ねていきます。

さて、今週の中頃のこと、個人的に結構大きなニュースがありました。

これです。 

www.nikkei.com 

オリンパスの映像事業(デジタルカメラの部門)が売却されるそうです。まあ業界的にも大ニュースですよね。カメラに興味ない人からするとどうなんでしょう。"OLYMPUS"というブランドの名前自体は結構知れていますから、それなりに話題性のあるトピックだったかもしれません。

スマートフォンの普及以降、ヤバいヤバいと言われ続けていたスチルカメラ業界でついに脱落者が出てしまった訳です。「オリンパスがやられたか」「スマホ如きに負けるとは、奴は四天王の中でも最弱、、、」的な、まあシェアや収益から見ても四天王と呼べるかも微妙な厳しいポジションではありましたから、いつか必ず来るであろうその日が今日この時だった、ということなんだろうと思います。

 

僕はと言えばオリンパス製品のユーザであり、また詳細は省きますが公私共に「ひとかたならぬ恩と仇」を感じているので、なんとも様々な想いが交差しています。 

 

続きを読む

ランダムフォレスト「マージン」の謎

僕が仕事でメインに扱っているのはSASだったりするのですが、SAS機械学習というよりは統計解析寄りのソフトです。そのため、分析屋もどきの身からすると、その出力もやや見慣れないものだったりします。

先日SASのプロシージャでランダムフォレストを弄っていたところ特徴量重要度の出力で「マージン」なる項目があり、聞きなれないワードだったので公式ドキュメントを読み解いてみました。

なお、この記事は個人的な備忘録として作成しています。

 

1. 前提:エントロピーやらGini不純度やら

そもそも決定木系の学習アルゴリズムの重要度と言えば、エントロピーやGini不純度を用いたものが主流ではないでしょうか。

Gini不純度やエントロピーは、集合の中に複数の要素がどの程度均一に含まれるかを定量化した値です。ある基準でノードを分割したとき、分岐元のノードと分岐先のノードのエントロピーまたはGini不純度の差分が大きいほど、「その基準によるノードの分割が効果的だった」と言えるわけです。そして、ある特徴量を基準とした分割のGini不純度の差分の総和を取ることで、その特徴量がモデル全体として判別力にどの程度寄与したか定量化することができる、というわけです。

続きを読む

Kerasで最短(?)LSTM実装

RNNのチュートリアルとして、LSTMによる時系列予測モデルをKerasにて実装しました。

多分これが必要最低限の実装だと思います。

備忘録として記録しておきます。

 

1. LSTMとは

LSTMは再帰ニューラルネットワークであるRNNのバリエーションの一つで、主に時系列予測などの連続的なデータの処理に利用されます。原理の詳しい解説はここではしません。というかできません。

原理の解説記事はググるといっぱい出てきますが、特に以下のリンク先が参考になりそうでした。

LSTMネットワークの概要 - Qiita

LSTM (Long short-term memory) 概要

LSTMのネットワークそのものはKerasを使えば割とあっさり実現できてしまいます。初めてLSTMを実装するにあたっては、モデルそれ自体よりも時系列処理のためのデータ分割や前処理がポイントになるかと思います。その辺りについて簡単な説明とともに実装した内容を記録しておこう、というのがこの記事の趣旨です。

 

続きを読む

SASが無料で使えるんですって (SAS OnDemand for Academics)

統計ソフトとしてSASを使う機会がしばしばあるのですが、なかなかとっつきづらさを感じています。その要因として、プログラミング言語としての仕様の独特さや、非公式の情報の少なさ(と言っても公式の情報は充実しているのですが)などと並んで、「そもそもソフト自体が有料(しかも高い)」という点も大きいのではないでしょうか。「ちょっと自宅で触って慣れてみよう」とかできないので、学生時代から研究室で使っていたとかでない限りは高い参入障壁を感じてしまいがちだと思います。

そんなこんなで「家でも気軽にSASが弄れたらいいな〜」などと考えていたところ、”SAS OnDemand for Academics”という名称で無償のソフトがSAS公式からクラウドで提供されていることを最近知りました。実際に使ってみたりもしたので、セットアップからモデルを構築するまでに僕が通ってきた流れを簡単に書き残しておこうと思います。

 

1. SAS OnDemand for Academics

SAS OnDemand for Academics は、SAS公式から提供されている無償でSASソフトが利用できるサービスです。Webブラウザからアクセスし、オンラインで統計解析やモデル構築を行うことができます。詳細は以下のページからどうぞ。

www.sas.com

  

続きを読む