タブ区切りテキストからの分析をスムーズに - 統計電卓更新2018年09月27日 13:15

実際にデータ分析を行っていると、タブ区切りテキストを読み込んでの作業が多いので、この作業の流れがスムーズになるように、統計電卓の機能を見直しました。

起動画面

起動すると、データ入力画面になります。「入力データ」の左下に「タブ区切りテキストの読み込み」ボタンを設けました。押下すると、ファイルを読み込むためのダイアログが出てきます。

タブ区切りテキストの読み込み

データを読み込んだところです。例では、気象庁から、日ごとの気温データをダウンロードし、ヘッダなどをExcelで修正し、タグ区切りテキストに出力したものを読み込んでいます。

メニューからの遷移

キーパッド左上のハンバーガーメニューを開きます。上に、作業用の3つの遷移メニューを設けました。左右(又は上下)、それぞれに必要な画面を切り替える手間を省きます。

ヒストグラム

「記述統計とヒストグラム」を選ぶと左右(又は上下)の画面が、記述統計用とヒストグラム表示用に切り替わります。例では、平均気温でヒストグラムを描いています。

散布図

続いてメニューから「回帰分析と散布図」を選びます。回帰分析と散布図表示用に切り替わります。例では、横軸に年月日を摂って、日ごとの最高気温の遷移をグラフにしています。

回帰分析

年月日の軸を数値の軸に変えると、1次回帰のグラフを描画します。

プライバシーポリシーとサポート情報 - 統計電卓2018年09月27日 13:00

本アプリについて (About this app)

このアプリは、キーパッドから登録した数値について、平均や分散などの記述統計と、2次元データの相関および回帰の分析を行います。

※2018年9月の更新
・メニューを見直し、記述統計とヒストグラム、相関関係と散布図、への遷移をしやすくしました。
・データ一覧にタブ区切りテキストの読込ボタンを設けました。

※本アプリは、正しい結果が得られるようテストを実施し、品質確保に努めています。ただし、不具合がないことを保証するものではなく、本アプリを利用した結果生じる損害については、いかなるものについても責任を負いかねます。自己責任の範囲でご利用をお願いします。

プライバシーポリシー (Privacy statement)

統計電卓
対象アプリ:統計電卓

本アプリの製作者である The Fourteenth Lab (第十四工房) は、本アプリによって、お客様の個人情報およびプライバシーに関する情報を収集しません。

サポート情報 (Support)

ご質問や不具合のご連絡は、このページの「コメント欄」をご利用いただくか、「このブログについて」に記載の連絡先までお願いします。

使い方

利用方法は、アプリのメニューの「アプリの説明とプライバシーポリシー」にあります。ここでは、概略を示します。

●画面構成

縦長の画面構成を前提に説明します。

下半分)数値を入力するキーパッド、記述統計の統計量の表示部(統計量)、相関や回帰に関する統計量の表示部(相関関係)、を左右に切り替えて使用します。

上半分)入力したデータの一覧(入力データ)、ヒストグラム、散布図、を左右に切り替えて使用します。

●入力パッド

入力パッド

数値を入力する際、四則演算による計算ができます。最大10桁です。入力した数値、または計算結果を、「セット追加」ボタンで登録します。複数項目(変数)がある場合は、「項目追加」ボタンで登録します。

●入力データ

入力データ

入力したデータを一覧形式で表示します。セット番号(行)、項目番号(列)、値、の順で表示します。データを失わないよう、適宜、保存ボタンを利用してください。リストを選択中に、編集ボタンを押すと、キーパッドの表示部の値で上書きします。

●統計量

統計量

計算対象の項目(変数)を選択すると、計算を実行します。

●ヒストグラム

ヒストグラム

「統計量」の画面で選択した項目(変数)について、ヒストグラム(柱状グラフ)を作成します。縦画面で使用する想定で、横向きです。平均値、中央値(メディアン)、平均値±2σの範囲を図示します。データの範囲が広い場合、柱の最大値を設定するボタンで、柱の数を調整できます。

●相関関係

相関関係

「変数1」で独立変数、「変数2」で従属変数を選択すると、計算を実行します。

●散布図

散布図

「相関関係」の画面で選択した項目(変数)を用いて、散布図を作成します。回帰直線を合わせて表示します。

●R向けスクリプト例

RGuiでの利用例を示します。

作業ディレクトリの変更

最初に、ファイルメニューから「作業ディレクトリの変更」を行い、スクリプトとデータファイルを置いているディレクトリを指定します。

スクリプトを開く

ファイルメニューから「スクリプトを開く」を選び、生成されたRスクリプトを選びます。

Rコードを実行

スクリプトが表示されたら、その上で右クリックをするとメニューが表示されます。メニューから、「全て選択」を選んだ後、「カーソル行または選択中のRコードを実行」を行います。

R実行例

スクリプトが実行されます。オプションで対話型を指定しているので、クリックをするとグラフが表示されます。

●Mathematica(4.x)向けスクリプト例

ファイルを開く

ファイルメニューの「ファイルを開く」でテキストファイルを指定し、出力したスクリプト(ファイル名の最初がMで始まる)を読み込みます。

SetDirectoryを適宜編集

ノートブックが開くので、「SetDirectory」を適宜編集して、出力したデータファイル(タブ区切り形式)を読み込めるようにします。

なお、新しいバージョンでは、構文が変更されていますので、適宜編集してください。

セルの評価

ノートブックの上で右クリックをし「セルを評価」を選ぶか、カーネルメニューの「式の評価」から「ノートブック全体を評価」を選びます。

計算結果の出力

スクリプトが実行されます。入力に対応する出力を確認します。

あらかじめのおことわり (FAQ)

1)数値精度
アプリの内部では、Decimal型で管理しています。割り算では、割り切れない場合に丸め誤差が発生します。丸め方は、単純切り捨てです。四捨五入はしていません。

2)電卓部分(入力パッド)
キーボードの数字や演算キーからの入力には対応していません。

3)相関と回帰
2つの変数を選択しますが、両方の変数が揃っているセット(行)のみを対象とします。「統計量」と「相関関係」でサンプル数が異なる場合は、欠損があります。

4)散布図
・対象の数値が小数点以下の場合、軸ラベルが「0」になることがあります。
・対象変数を切り替えたとき、グラフが乱れることがあります。その場合は、一度、別のタブに切り替えてから、散布図を選択しなおすと直ります。
・サンプル数が多いと描画まで時間がかかります。機種の性能にもよりますが、300個で数秒~十数秒かかります。

5)タブ区切り形式のデータの読み込み
タイトル行など、数値以外のデータは読み飛ばします。

6)R向けスクリプト例の書き出し、Mathematica(4.x)向けスクリプト例の書き出し
おまけの扱いです。本アプリで実施できる分析に相当する機能を例示します。検算や、より詳細な分析のとっかかりにしていただく意図です。必要に応じ、編集の上、利用してください。複数項目(変数)の考慮は、変数1,変数2、の決め打ちですので、それ以外の変数は、スクリプトを編集してください。

7)グラフの出力
WinRT XAML Toolkitを使用しています。

参考文献

1)東京大学教養学部統計学教室、「基礎統計学Ⅰ 統計学入門」、東京大学出版会(1994年、第8刷)

統計電卓、更新2016年11月03日 08:23


統計電卓、更新

Windowsストアアプリの「統計電卓」を更新しました。更新内容を示します。

・共有されたテキストデータを受信する機能を設けました。
Windows10の「共有」を用いたアプリ間連携の機能です。既定のJson形式のデータを受信し、分析を行うことができます。送信元のアプリが既定のJson形式に則ったデータを用意する必要があります。今のところ、「献血記録」がこの機能に対応しています。

・日付データを扱えるようにしました。
気象データなど、日付と数値が対応するデータを扱えます。日付は、従属変数としては扱えません。独立変数としての扱いです。タブ区切りテキストの読み込みでも対応しました。

・項目(列)にラベルを付与できるようにしました。
ラベルを付与すると、変数の選択やグラフの軸表記に利用できます。タブ区切りテキストの読み込みでも、先頭行をラベル定義行として扱えます。

・散布図の再描画の性能を改善しました。
あわせて、散布図の自動描画を標準でオフにしました。

・入力パッドの符号変換キーの不具合を修正しました。

・制限事項)モバイル版(Windows10 mobile)でOneDriveにあるファイルを読み込むとき、ファイル名に日本語が含まれていると読込に失敗します。英数字のファイル名に変換してから読み込みます。OS側の不具合と思われます。

統計電卓 - アプリリリース2016年07月13日 10:54


統計電卓アプリリリース

「統計電卓」の名称で、ユニバーサルWindowsアプリをリリース。関数電卓に統計機能があるが、グラフの出力も含めて、こんなことができたら、との思いを実装。データ分析が流行りだが、まず大事なのは、分布の形とばらつきを把握すること。何でも正規分布を仮定するのは危険、ばらつきを無視して平均値で語るのも危ない。最初に、ヒストグラムや散布図で視覚的に把握しておきたい。

※アプリのページ

開発時間は、90時間強。これまで作ってきたルーチンが活用できたが、コーディング量が多めの分、多めの時間。

苦労したといえば、電卓をイメージしたデータ入力の部分。使っている関数電卓は、CASIOのfx-991と、後継のfx-991MS。MSの方が機能は向上しているが、コンピュータ寄りの使い勝手で、電卓感は無印の方が上。どちらかというと無印に近い使い勝手を目指したが、その電卓感の元となっている、キーを押す手間を省く工夫、が曲者。ハードウェアでは素直な実装でも、状態遷移が複雑で、なかなかバグが取れない。

グラフは、いつものWinRT XAML Toolkitを利用。散布図は、さすがにデータ量が多くなると表示までに時間がかかる。気象庁の日別の気温データを1年分、3地点で取り込んでみたが、散布図にするのに十数秒はかかる。Rだと一瞬なのだけど。このあたりは課題。