Perm Territoryのオープンデータに基づく誤った相関

2014年11月6〜7日、コンテスト「オープンリージョン。 パーマテリトリーからのオープンデータに基づくアプリケーションとサービスの開発のためのハッカソン

サイトopendata.permkrai.ruは、地域の生活のさまざまな分野について約1,400の統計指標を公開しました。 このデータで何ができますか? 私の頭に浮かんだ最初の考えは、 スプリアス相関サイトの類似物(偽相関)を作成することでした。

TL; DR:
ソース: github.com/yakov-bakhmatov/odpr
アプリケーション: odpr.bakhmatov.ru

ソースデータ


取得方法とデータ形式は、開発者向けページで説明されています 。 要するに、Webサービスはメタデータの説明(インジケーターのリスト、「キューブ」のリスト-OKATO、OKVED、世界の国々などのインジケーターの追加パラメーター、インジケーターとキューブのペアのリスト)をxml形式とデータ自体で提供しますxmlおよびcsv形式のインジケーター識別子とキューブのペア。

「目」で初期分析を簡素化するために、csv形式を選択しました。 この形式では、エントリの形式は

 カレンダーレベル、日付、メトリック名、高度なキューブオプション、値 


カレンダーレベルは1〜5の数値です(1年、2年半、3四半期、4月、5日)。

簡単な分析により、次の問題が明らかになりました。


これらの問題はすべて何らかの方法で解決されたため、アイデアの実装に進みます。

アプリケーションのアイデア


カレンダーレベルが同じで日付範囲が重複するインジケーターのペアごとに、ピアソン相関係数を計算します。 相関係数係数が0.9より大きいペアを選択します(| r |> 0.9)。 Webアプリケーションページを開く(または更新する)と、1つの座標系で構築されたランダムペアチャートが表示されます。

また、検索またはフィルターを使用可能なすべてのペアのリストも必要です。

ツール


私はハッカソンの時間枠にとどまろうとして、アプリケーションをすばやく作成したかったのです。 私が選んだツールは次のとおりです。


プロセス


データの読み込み

まず、データをソースからダウンロードする必要があります。 ここで最初のトラブルが待っていました-数十個のデータファイルをダウンロードした後、 opendata.permkrai.ruサイトは500番目のエラーを出し始めました。 この段階をいくつかのアプローチに広げなければなりませんでした。

第二に、私は自分を岡戸の「キューブ」に制限することにしました。

合計で、合計容量が256 MiBの1151個のファイルがダウンロードされました。

データ準備

次に、各ファイルが解析され、行がセットごとにグループ化されました(カレンダーレベル、インジケータ、OKATO)。
Perm Territoryに属さない行は破棄されました。
重複した、逃した期間は削除されました。 インジケータの値は「正規化」されています。
この段階の後、11468個のデータシリーズが残りました。

相関計算

ここで複雑なことはありません。 これらの系列が異なるインジケーターに属し、同じカレンダーレベルを持ち、日付範囲の交点に少なくとも8ポイントがある場合、2つの行間の相関係数を計算します。

129,507ペアで、相関係数が0.9以上(または-0.9未満)でした。

後処理

一般的に、ほぼ13万ペアが多いです。 妥当な時間内に、このような数のグラフを見ることができなくなります。
しかし、実際には、インディケーターの内部では、系列間に非常に小さな差がある場合があります(逆に、相関係数は大きく、1に近い)。 指数Xにn行が含まれ、指数Yにm行が含まれる場合、n * m個の相関ペアがありますが、関係を示すには1ペアで十分です。

修正中です。 セット(カップルの最初のメンバーのインジケーター、カップルの2番目のメンバーのインジケーター、相関係数のサイン)に従ってすべてのペアをグループ化し、各グループから1つの代表を残します。

その後、501インジケーターの11,278行に19,390ペアが残りました。

Webアプリケーション

牛の在庫と小売売上高

結果のグラフは2つの方法で表示できます。 ページを更新し、毎回ランダムなスケジュールを取得できます 。 すべてのインジケーターのリストに移動して、興味のあるものを選択できます。

おわりに


このサイトは、割り当てられた数百ルーブルがなくなるまで利用可能になります。 ソースはgithubで利用できます。必要に応じて、誰でも自分でアプリケーションをデプロイし、データを試すことができます。

このアプリケーションは、3晩の楽しみのために作成されました。 別の夜はこの記事を書いて過ごしました。 私はその日に会ったと仮定できます。 ハッカソンは成功しました!

Source: https://habr.com/ru/post/J242333/


All Articles