タブ区切りテキストからの分析をスムーズに - 統計電卓更新 ― 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コードを実行」を行います。
スクリプトが実行されます。オプションで対話型を指定しているので、クリックをするとグラフが表示されます。
●Mathematica(4.x)向けスクリプト例
ファイルメニューの「ファイルを開く」でテキストファイルを指定し、出力したスクリプト(ファイル名の最初がMで始まる)を読み込みます。
ノートブックが開くので、「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だと一瞬なのだけど。このあたりは課題。
最近のコメント