Cognos Analyticsで機械学習

## 概要
Cognos Analytics 12.0.3でダッシュボードに追加可能な拡張ウィジェット「What if」を紹介します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/35690e23-f452-42ab-6bbd-3f89c2e4841c.png)

## 参考情報
**Analyze what-if scenarios using machine learning (12.0.3 and above)**
https://accelerator.ca.analytics.ibm.com/bi/?perspective=authoring&pathRef=.public_folders%2FIBM%2BAccelerator%2BCatalog%2FContent%2FEXT00090&id=iF7B5ADAE802D4FC88B342A0515C97110&objRef=iF7B5ADAE802D4FC88B342A0515C97110&action=run&format=HTML&cmPropStr=%7B%22id%22%3A%22iF7B5ADAE802D4FC88B342A0515C97110%22%2C%22type%22%3A%22reportView%22%2C%22defaultName%22%3A%22EXT00090%22%2C%22permissions%22%3A%5B%22execute%22%2C%22read%22%2C%22traverse%22%5D%7D

## セットアップ手順
上記リンクの「Download」から「what_if_12_0_3.zip」ファイルを入手します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/640e0be0-d07c-1d18-fe83-c3a03fc0505d.png)

管理→カスタマイズ→拡張から「what_if_12_0_3.zip」ファイルのアップロードを行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/aa6aef0a-b201-4ff2-5861-f2712b14b844.png)

今回はサンプルデータとして、同ページからダウンロード可能な「coffeehouse_dataset.xlsx」を取得します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/251010b7-7173-f555-4369-85144dc10fe1.png)

データはこんなイメージです。一行にアメリカの町にあるコーヒーショップ店舗の売上、広告費、輸送費、席数、ドライブスルーか、というようなデータが入っています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/15ab47b9-a913-97f4-41db-bdd8ae32827e.png)

任意のフォルダにファイルをアップロードし、メニューから「ダッシュボードの作成」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/00563e66-44f5-15b9-0779-37bf82666fa0.png)

## 操作手順
ダッシュボードを開くと「Data rich text」が追加されているので、キャンバスに配置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/54d4461d-1561-a118-cea3-0008cb41ca65.png)

Target Columnに目標変数として「Sales」を配置します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/61e1f955-da74-215a-ca8c-2360b2994893.png)

Input Columnsに説明変数となるアイテムを配置しますが、とりあえずお任せにしたい場合「Autofill input columns」も選択できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/7b97f6df-0b59-729d-7780-9a7dd0dd1e84.png)

Input Columnsにアイテムが選択されました。「Create model」を選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/bb6ffbea-9794-b0f3-83f6-be1dc010111f.png)

1分間待つと精度60.5%でニューラルネットワークモデルが作成されます。これでWhat if分析が可能です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/a0c73467-913f-2cc0-ca88-5fd86198c9a6.png)

Shipment Costのスライダーバーを50に上げてみると、Predictedつまり予想売上がBaseline(実績値)の2.5倍になりました。
コーヒー豆の輸送費用とたくさん払えば売上が伸びる、というわけではなく、売上が高い店舗はたくさん豆を輸送するので輸送費用もかかるという、当たり前の話ですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/b9408431-aebf-1958-3aad-065bfe8bd979.png)

じゃあ、広告費を増やすとどうなんでしょう。70%広告費を増やしたところ、売上は僅かには増えるという予想になりました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/8fff29f0-ec82-73ce-6c1f-ba965e725483.png)

広告増やして意味ないなら減らしてしまえと、どうなるでしょう。
なんとびっくり、売上予測激増です。広告意味なしという結論ですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/f3ad4409-1590-942b-6c69-7b34e6e60d00.png)

店舗の席の数も減らしてみました。またも売上増予測。
このコーヒーチェーンは、広告もせず、席数も少なく、こじんまりとやってくのが向いている形態のようです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/616d300c-69d5-0b3a-8ace-9d91095170d6.png)

機械学習のモデルの精度が低くて信頼できない場合は、「Train model」でモデルの精度を上げることが出来ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/9f3ea061-a2bf-6d72-a585-b921d6ce2f6c.png)

Contextとローカル・フィルターはセットで使います。
Contextに「State」を置き、ローカル・フィルターで「Texas」に絞ると、Texasの店舗のみのデータで表示できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/1b050004-c4f9-10ab-cfbb-80b4f55f4653.png)

**zipの中身**
「what_if_12_0_3.zip」が全てですが、解凍してみると拡張に登録するためのspec.jsonがあり。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/f9fdf439-1ef8-5876-4fdc-cf56d7ed93c6.png)

複数のJavaScriptのソースとmapファイルから構成されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/147246/38c4f6d0-e457-260f-d3bd-4aee3c8e3e34.png)