Intaractive Visual Statisticsを使ってみた

Dataiku DSS ver7から実装されたStatistics機能を使ってみたいと思います。基本統計量や、確率分布のフィッティングなどを簡単に確認することができる便利な機能です。

こちらの[公式サイト](https://academy.dataiku.com/basics-102-open/483301)を参考にしています。



# プロジェクト～ワークシートの作成
Dataiku DSS上にStatistics学習用のプロジェクトが用意されていますので、早速使ってみましょう。
[+ NEW PROJECT]⇒[DSS tutorials]⇒[102: From Lab to Flow]

真ん中のorders_preparedデータセットをクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/36abd35a-b116-093c-59e3-9eab7c221d26.png)

Statisticsタブをクリック後、+ CREATE YOUR FIRST WORKSHEETをクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/29218dbc-8459-3b19-1e9c-9298e6decad4.png)

以下のようなカードタイプ選択画面が表示されます。
現在は、この６種類の統計分析を行うことができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/4aee7ff3-7f90-a0a9-ad30-e6d9ec9a4871.png)

- Univariate analysis 基本統計量算出
- Statistical tests　　統計検定実施
- Correlation matrix　相関係数計算
- Bivarate analysis　　二変量解析
- Fit curves & distributions　確率分布へのフィッティング　
- Principal Component Analysis　主成分分析

以降では、Univariate analysisとFit curves & distributionsについて紹介していきます。
ちなみに今回は取り上げませんが、二変量解析も便利そうです。二変数間での箱ひげ図やヒストグラム、散布図などを描くことができますので2変数間の関係数を把握することができます。

# Univariate analysis
まずは、Univariate analysisを用いて、基本統計量を算出するカードを作成します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/1d85e34b-1f11-0182-32c5-9bb588ba539c.png)

基本統計情報を算出したい項目を選び、右上の＋ボタンをクリックします。
今回は、pages_visitedとtshirt_categoryとtotalの3項目を選び、CREATE CARDをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/f32b3dac-bc38-483d-4439-494ccd71ba35.png)

3項目選択し終えたら、CREATE CARDボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/faabc3a5-b40a-9970-f417-f4fc5b0a0af9.png)

以下のように選択した３項目に対して基本統計量が算出されます。これれは「カード」と呼ばれます。１枚のカードに対して、１項目が対応する形となります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/bac66047-3c81-bd16-51e5-4d0a6f319798.png)

ポイントとしては、pages_visitedやtotalのような量的変数と、tshirt_categoryのような質的変数では出力内容が異なっています。
量的変数では、ヒストグラムや箱ひげ図で可視化され、最小値・最大値といった基本統計量や、パーセンタイルが示されます。ここでパーセンタイルとは、数値を昇順に並べた時に、全体のデータ数の中で25%点にある値、75%点にある値といったような統計値です。0%点が最小値、50%点が中央値、100%点が最大値となります。
質的変数では、要素数の多いものから順にヒストグラムで可視化され、基本統計量では最小値や最大値は意味がないため表示されず、欠損値や最頻値といったものが表示されています。また、パーセンタイルの代わりに、要素数の多いものから順に頻度テーブルが出力されています。

各カードに表示されているグラフの見栄えを編集することができます。
マウスオーバーにより、編集ボタンがでてきますのでクリック。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/3b312cd4-f94e-c5cc-6501-a6ba7683a0ef.png)

ヒストグラムのbin幅を変更可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/d3686611-9958-a70b-4486-d977c35439e4.png)

pages_visitedのbinsを100に変更してみると、左図のヒストグラムの見栄えが変わりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/d5a9cb98-4baf-0f3c-dd67-36a142f911bd.png)


すべてのカードには、カード設定の編集、カードの複製または削除などのメニューが用意されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/829129bb-4dc6-fc9d-3f4a-84f69dd09f6c.png)

ヒストグラムや基本統計量テーブルを、ダッシュボードへ共有することも可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/48cbef8c-1b21-2b20-1617-19d83ed12a9a.png)


## データのサンプリング
デフォルトでは、最初の10万行のみに対して計算していることに注意してください。データ全体に対して計算したければ、サンプリング設定を変更する必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/41489fc8-cab2-6151-4d56-8a425d86f097.png)

Sampling methodの右側の▼をクリックすると、サンプリング設定を選択することができます。No samplingを選択肢、SAVE AND REFRESH SAMPLEをクリックすることでサンプル設定を変更できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/9b23a3cc-115e-d9ff-25de-7a7e715d4c75.png)

#Fit Curves & distributions
Fit Curves & distributionsを使うと、選択した項目に対して、特定の確率分布のパラメータを推定することができます。推定結果から、選択した項目が特定の分布に従うかの検定結果や統計指標を可視化するカードを作成することができます。ここでは、total変数が指数分布に従うかどうかを確認してみます。

まずは+NEW CARDボタンをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/6eda9d47-bcb5-fabf-0da7-961004654b45.png)

Fit Curves & distributionsを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/c1b4c510-dd9b-fcbc-f66b-6f711e2aa833.png)

Fit distributionsを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/41395c49-a91a-4e1c-e0d0-fec27ee72e6d.png)

Variableに選択したい項目を選択します。ここではtotalを選びましょう。
Distributionでは指数分布であるExponentialを選択してください。
最後にCREATE CARDをクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/70cd4a3c-23df-4343-32c1-fd9613e4d56a.png)

以下のように計算結果が得られます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/2c79fc12-64ba-d5f6-a630-4bb02f8e15cb.png)

真ん中下のGoodness fitは、指数関数にフィットしたか検定結果や評価指標値が記載されています。
Kolomogorov-Siminov testでは、total項目の値の母集団の確率分布が、帰無仮説として提示された指数分布一致しているかどうかを検定したものです。p-valueが0となっているため、帰無仮説は棄却され、total項目は指数分布とはいえない、とみなせます。

Likelihood metricsは、今回推定したパラメータから得られる指数分布とtotal項目のデータの分布がどれくらい一致しているか、を示すものです。Log-likelihoodは高い方がよく、AIC、AICc、BICは小さいほうが良い値です。
これらの値は、相対的な指標となります。指数分布を当てはめた結果単品では判断できず、他の分布を当てはめた時の結果と比較して論じる値です。

右側にしめされているQ-Q分布は、2つの確率分布を互いに対してプロットしたグラフです。分布が一致する場合、中央の右肩上がりの直線に沿うようなグラフになりますが、一致しない場合は直線から乖離します。今回のデータは、途中から直線に沿っていないため、一部のデータが指数分布からはずれていると考えることができます。

#ワークシートの編集など
２種類カードを作成してみましたが、それぞれのカードは結構大きいです。ワークシートは複数作成可能ですので、目的に合わせて複数のワークシートを使いわけるといった使い方が可能です。
New Worksheetをクリックすると、あたらしくワークシートが作成されて、既存のワークシートと切り替えて使うことができます。ワークシートの名前も変更可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/106215/c363a04c-ea13-c488-70fa-27487f9559c9.png)


Intaractive Visual Statisticsには他にもいろいろな機能があります。詳細については[こちら](https://doc.dataiku.com/dss/latest/statistics/index.html)を参照してください。

#おわりに
今まで地道にコツコツチャートで書いたり、Rで実装したりしていためんどくさい部分が、GUIで実装された印象です。
実務上かなり有用な機能なのではないでしょうか。

実際に使う場合は、まずはUnivariate analysisとCorrelation matrixとBivarate analysisあたりを使って傾向をおさえておけばよさそうです。
さらにデータから得られた仮説の検証のためには、Fit curves & distributionsで母集団の確率分布にあたりをつけつつ、それに適した手法をStatistical testsで用いる、といった使い方になりそうですね。