スタバのTwitterデータをpythonで大量に取得し、データ分析を試みる その３

スタバTwitterシリーズも第３回となりました。下記は今までの投稿です。
***
その１：Twitter REST APIsでデータを取り込みmongoDBにインポート
http://qiita.com/kenmatsu4/items/23768cbe32fe381d54a2

その２：取得したTwitterデータからスパムの分離
http://qiita.com/kenmatsu4/items/8d88e0992ca6e443f446

その３：ある日を境にツイート数が増えたわけは？（今回）
http://qiita.com/kenmatsu4/items/02034e5688cc186f224b

その４：Twitterにひそむ位置情報の視覚化
http://qiita.com/kenmatsu4/items/114f3cff815aa5037535
***
さて、この前回の時系列ツイート数グラフをよく見ると3/18からグラフが全体的に上に持ち上がっているように見えないでしょうか？この日から何ががあったのではないかと思うので、これを分析してみようと思います。

![timeseries_no_spam-compressor.png](https://qiita-image-store.s3.amazonaws.com/0/50670/77266478-6048-8ed5-f827-09e042c9e4a1.png)

ツイートの内容に何か変化がないかをツイート本文から分析する、ということを試みます。
まず考え方として、ツイートを3/18 0:00を境に前後に分割します。
で、その前後でつぶやきに含まれる単語で増加率が高い単語が何か、というのをあぶり出すことをやってみたいと思います。

しばらくデータ処理の説明になるので、結果を先に見たい人は[3. 分析結果](http://qiita.com/kenmatsu4/items/02034e5688cc186f224b#3-分析結果)に飛んでください。

##1.単語の分かち書き##
ツイート本文を統計的に処理するにあたり、単語の分かち書きという処理が必要となります。英語の文書であれば単語毎に間にスペースが入っているので、スペース区切りで単語を特定できるのですが、日本語は膠着語と呼ばれる区切りが無い言語のためこの分かち書きが必要です。
そこで、かの有名なMeCabを導入して分析に使いたいと思います。
###1-1.MeCabの導入###

mecab-ipadic-neologdとは、
> mecab-ipadic-neologd は、多数のWeb上の言語資源から得た新語を
> 追加することでカスタマイズした MeCab 用のシステム辞書です。

とあるように、Web上をクローリングしてデータ収集して新語を取り入れた、@overlastさんが作成されたMeCab辞書です。Tweetデータなどは従来の単語辞書には含まれていなかった単語が多く含まれているので、この記事を書く直前にこのような辞書がリリースされたのはラッキーでした！
ご本人が第47回R勉強会＠東京のセッションで説明されていた通り、超簡単に導入できるので、皆さんも是非＾＾

MeCab自体のインストールと、この新語対応の辞書mecab-ipadic-neologdのインストールも
https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md
にインストール方法の記載があるので、ここを参考にMeCabとその新語対応辞書mecab-ipadic-neologdをインストールします。

###1-2.mecab-pythonの導入###
<S>https://code.google.com/p/mecab/downloads/list</S>
（※[Google Code のダウンロード機能が 2014/1 で終了](http://it.slashdot.jp/story/13/05/27/0011228/)したようなので下記からDLください）

[Google Drive Mecab Python download](https://drive.google.com/folderview?id=0B4y35FiV1wh7fjQ5SkJETEJEYzlqcUY4WUlpZmR4dDlJMWI5ZUlXN2xZN2s2b0pqT3hMbTQ&usp=drive_web)
ここからダウンロードしてインストールします。

```bash
$ python setup.py build
$ python setup.py install
```
基本的に回答してこの２つのコマンドでインストールされるはず。

###1-3.ツイートを形態素に分ける###

PythonからMeCabの軌道を試してみましょう。mecab-ipadic-neologdを導入しているのでTaggerの生成時に引数でそのインストール先ディレクトリを指定しています。

```py
import MeCab as mc
t = mc.Tagger('-Ochasen -d /usr/local/Cellar/mecab/0.996/lib/mecab/dic/mecab-ipadic-neologd/')
sentence = u'今日は良い天気ですが、雨ですね。キャラメルマキアートがうまいです。'
text = sentence.encode('utf-8') 
node = t.parseToNode(text)   # 先頭行はヘッダのためスキップ

while(node):
    if node.surface != "":
        print node.surface +"\t"+ node.feature
    node = node.next
    if node is None:
        break
```

下記のように文章を単語に分けてくれて、品詞もつけてくれます。ちゃんと"キャラメルマキアート"という固有名詞も拾ってくれます！

```
<<<output>>>
今日	名詞,副詞可能,*,*,*,*,今日,キョウ,キョー
は	助詞,係助詞,*,*,*,*,は,ハ,ワ
良い	形容詞,自立,*,*,形容詞・アウオ段,基本形,良い,ヨイ,ヨイ
天気	名詞,一般,*,*,*,*,天気,テンキ,テンキ
です	助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
が	助詞,接続助詞,*,*,*,*,が,ガ,ガ
、	記号,読点,*,*,*,*,、,、,、
雨	名詞,一般,*,*,*,*,雨,アメ,アメ
です	助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
ね	助詞,終助詞,*,*,*,*,ね,ネ,ネ
。	記号,句点,*,*,*,*,。,。,。
キャラメルマキアート	名詞,固有名詞,一般,*,*,*,キャラメル・マキアート,キャラメルマキアート,キャラメルマキアート
が	助詞,格助詞,一般,*,*,*,が,ガ,ガ
うまい	形容詞,自立,*,*,形容詞・アウオ段,基本形,うまい,ウマイ,ウマイ
です	助動詞,*,*,*,特殊・デス,基本形,です,デス,デス
。	記号,句点,*,*,*,*,。,。,。
```

で、この形態素解析をツイート本文に適用します。本文をMeCabにかけて、今回は名詞・動詞・形容詞・副詞のみを抽出、それぞれをツイートのレコードに列追加していきます。（※正確にはmongoDBではレコードはドキュメント、列はフィールドです）助詞、助動詞等を抜いているのですが、これらは本文の内容を表すような特徴をそこまで表現していないと思いましたので除外しています。


```py
# mecab 形態素分解
def mecab_analysis(sentence):
    t = mc.Tagger('-Ochasen -d /usr/local/Cellar/mecab/0.996/lib/mecab/dic/mecab-ipadic-neologd/')
    sentence = sentence.replace('\n', ' ')
    text = sentence.encode('utf-8') 
    node = t.parseToNode(text) 
    result_dict = defaultdict(list)
    for i in range(140):  # ツイートなのでMAX140文字
        if node.surface != "":  # ヘッダとフッタを除外
            word_type = node.feature.split(",")[0]
            if word_type in ["名詞", "形容詞", "動詞"]:
                plain_word = node.feature.split(",")[6]
                if plain_word !="*":
                    result_dict[word_type.decode('utf-8')].append(plain_word.decode('utf-8'))
        node = node.next
        if node is None:
            break
    return result_dict
```

下記で全Tweetデータに対して形態素に分けていく処理を行います。

```py
for d in tweetdata.find({},{'_id':1, 'id':1, 'text':1,'noun':1,'verb':1,'adjective':1,'adverb':1}):
    res = mecab_analysis(unicodedata.normalize('NFKC', d['text'])) # 半角カナを全角カナに

    # 品詞毎にフィールド分けして入れ込んでいく
    for k in res.keys():
        if k == u'形容詞': # adjective  
            adjective_list = []    
            for w in res[k]:                adjective_list.append(w)
            tweetdata.update({'_id' : d['_id']},{'$push': {'adjective':{'$each':adjective_list}}})
        elif k == u'動詞': # verb
            verb_list = []
            for w in res[k]:
                verb_list.append(w)
            tweetdata.update({'_id' : d['_id']},{'$push': {'verb':{'$each':verb_list}}})
        elif k == u'名詞': # noun
            noun_list = []
            for w in res[k]:                noun_list.append(w)
            tweetdata.update({'_id' : d['_id']},{'$push': {'noun':{'$each':noun_list}}})
        elif k == u'副詞': # adverb
            adverb_list = []
            for w in res[k]:
                adverb_list.append(w)
            tweetdata.update({'_id' : d['_id']},{'$push': {'adverb':{'$each':adverb_list}}})
    # 形態素解析済みのツイートにMecabedフラグの追加
    tweetdata.update({'_id' : d['_id']},{'$set': {'mecabed':True}})


```

##2. CountVectorizerで単語を数える ##

[Scikit-learn](http://scikit-learn.org/stable/)というpythonの機械学習ライブラリに[CountVectorizer](http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html#sklearn.feature_extraction.text.CountVectorizer)というものがあるのですが、単語数を数えるのにこれを使ってみたいと思います。

###2-1. CountVectorizerの使い方の簡単な例###

3つの文章を例にとってCountVectorizerでどういうことができるのかを説明します。CountVectorizerはfit関数に渡された文字列データに含まれる単語を単語毎にその出現回数をカウントして、それをベクトルとして表現してくれるクラスです。文字での説明より、下記のコードを見たほうが早いかもしれませんw

```py
# 3つの文章 (1つの文が1つのツイート本文と思ってください)
data=["This is a pen.",
      "This is also a pen. Pen is useful.",
      "These are pencils.",
     ]

c_vec   = CountVectorizer()           # CountVectorizerオブジェクトの生成
c_vec.fit(data)                       # 対象ツイート全体の単語の集合をセットする
c_terms = c_vec.get_feature_names()   # ベクトル変換後の各成分に対応する単語をベクトル表示
c_tran  = c_vec.transform([data[1]])  # 2つ目の文章の数を数える

print c_terms
print data[1]
print c_tran.toarray()
```

下記がアウトプット結果です。
1行目にget_feature_names()関数で生成されたベクトルが表示されています。1つ目の成分はalsoのカウント数、2つ目の成分はareのカウント数…のように解釈します。fit()関数に渡したデータ一式に含まれる単語がuniqueになって入っています。
2行目はtransform()関数に渡したカウントしたい対象の文章です。
3行目が欲しかった単語毎のカウント数です。このように"This is also a pen. Pen is useful."という文章にはalsoが1つ、areは無し、isが2つ、penも2つ入っている、と言ったように単語数をカウントした数字が入っています。これはテストなのでベクトルの成分が8個しかないですが、このあと行うTweetデータに対してこの処理を行うと45001個の成分を持つベクトルが生成されます。30万件のツイートにユニークワードが4万5千個あるということですね。

```py
<<<output>>>

[u'also', u'are', u'is', u'pen', u'pencils', u'these', u'this', u'useful']
This is also a pen. Pen is useful.
[[1 0 2 2 0 0 1 1]]
```

##2-2. TweetデータをCountVectorizerにかける ##

では、Tweetデータで同じことをしていきたいと思います。

まずは必要なライブラリのインポート、DBへの接続と、Utility的な関数の宣言です。

```py
from sklearn.feature_extraction.text import CountVectorizer
from pymongo import Connection
import numpy as np
from collections import defaultdict
import sys, datetime

connect = Connection('localhost', 27017)
db = connect.starbucks
tweetdata = db.tweetdata


def str_to_date_jp_utc(str_date):
    if str_date is not None:
        return datetime.datetime.strptime(str_date,'%Y-%m-%d %H:%M:%S') - datetime.timedelta(hours=9)
    else:
        return None
```

次にMeCabで分かち書きをした文字列を取得する関数です。これはmongoDBに蓄積されたTweetデータから指定した期間の物を取り出し、MeCabで単語化されたものをリストに集約してそれを返します。

```py
# mecabで分解した単語を連結して文字列化する。
def get_mecabed_strings(from_date_str=None, to_date_str=None,include_rt=False):
    tweet_list = []
    tweet_texts = []
    
    from_date = str_to_date_jp_utc(from_date_str)
    to_date = str_to_date_jp_utc(to_date_str) 
    
    # 取得対象期間の条件設定
    if (from_date_str is not None) and (to_date_str is not None):
        query = {'created_datetime':{"$gte":from_date, "$lt":to_date}}
    elif (from_date_str is not None) and (to_date_str is None):
        query = {'created_datetime':{"$gte":from_date}}
    elif (from_date_str is None) and (to_date_str is not None):
        query = {'created_datetime':{"$lt":to_date}}
    else:
        query = {}

    # spam除去
    query['spam'] = None

    # リツイートを含むか否か
    if include_rt == False:
        query['retweeted_status'] = None
    else:
        query['retweeted_status'] = {"$ne": None}
        
    # 指定した条件のツイートを取得
    for d in tweetdata.find(query,{'noun':1, 'verb':1, 'adjective':1, 'adverb':1,'text':1}):
        tweet = ""
        # Mecabで分割済みの単語をのリストを作成
        if 'noun' in d:
            for word in d['noun']:
                tweet += word + " "
        if 'verb' in d:
            for word in d['verb']:
                tweet += word + " "
        if 'adjective' in d:
            for word in d['adjective']:
                tweet += word + " "
        if 'adverb' in d:
            for word in d['adverb']:
                tweet += word + " "
        tweet_list.append(tweet)
        tweet_texts.append(d['text'])
    return {"tweet_list":tweet_list,"tweet_texts":tweet_texts}
```

上記関数を利用して何か変化がありそうだった3/18 0:00の前後でそれぞれ単語のリストを取得します。今回リツイートは除外しています。

```py
# "2015-03-18 00:00:00"以前
ret_before = get_mecabed_strings(to_date_str="2015-03-18 00:00:00")
tw_list_before = ret_before['tweet_list']

# "2015-03-18 00:00:00"以降
ret_after = get_mecabed_strings(from_date_str="2015-03-18 00:00:00")
tw_list_after= ret_after['tweet_list']

# 全期間
ret_all = get_mecabed_strings()
tw_list_all = ret_all['tweet_list']
```

ここから先は先ほど説明したCountVectorizerの出番です。

```py
c_vec = CountVectorizer(stop_words=[u"スタバ"])  # 「スタバ」は全Tweetに含まれるので除外
c_vec.fit(tw_list_all)                          # 全Tweetに含まれる単語の集合をここでセット
c_terms = c_vec.get_feature_names()             # 各ベクトル要素に対応する単語を表すベクトル

# 期間の前後でひとまとまりと考え、transformする
transformed = c_vec.transform([' '.join(tw_list_before),' '.join(tw_list_after)])
```

はい、これで単語を数えることができました。ここからがやりたかったことですが、この期間の前後で増えている単語が何か、を表示させていきます。

```py

# afterからbeforeを引くことで増分をsubに代入
sub = transformed[1] - transformed[0]

# トップ50がどの位置にあるかを取り出す
arg_ind = np.argsort(sub.toarray())[0][:-50:-1]

# トップ50の表示
for i in arg_ind:
    print c_vec.get_feature_names()[i]
```

##3. 分析結果 ##
長かったですが、やっとたどり着きました！
下記が期間の前後で増加率の高い単語トップ50です。
「カウント順位」は単純に前後での該当単語が出現するツイート数の差分ですが、前後のツイート数が違うので、率を算出してランキングしています。
（表が見にくくてスミマセン・・・）

<table border=0 cellpadding=0 cellspacing=0 width=707 style='border-collapse:
 collapse;table-layout:fixed;width:807pt'>
 <col  rowspan="2" class=xl72 width=33 style='mso-width-source:userset;mso-width-alt:1408;
 width:33pt'>
 <col width=91 style='mso-width-source:userset;mso-width-alt:3882;width:91pt'>
 <col width=60 style='mso-width-source:userset;mso-width-alt:2560;width:60pt'>
 <col width=72 style='mso-width-source:userset;mso-width-alt:3072;width:72pt'>
 <col class=xl72 width=49 style='mso-width-source:userset;mso-width-alt:2090;
 width:49pt'>
 <col width=67 style='mso-width-source:userset;mso-width-alt:2858;width:67pt'>
 <col width=75 style='mso-width-source:userset;mso-width-alt:3200;width:75pt'>
 <col width=65 style='mso-width-source:userset;mso-width-alt:2773;width:65pt'>
 <col width=62 style='mso-width-source:userset;mso-width-alt:2645;width:62pt'>
 <col width=76 style='mso-width-source:userset;mso-width-alt:3242;width:76pt'>
 <col width=57 style='mso-width-source:userset;mso-width-alt:2432;width:57pt'>

 <tr height=31 style='height:31.0pt'>
  <td rowspan="2" height=31 class=xl70 width=33 style='font-size:8.0pt;height:31.0pt;width:33pt'><ruby><rb>順位</rb><span
  style='display:none'></span></ruby></td>
  <td rowspan="2"  class=xl70 width=91 style='border-left:none;width:91pt'><ruby><rb>単語</rb><span
  style='display:none'></span></ruby></td>
  <td rowspan="2" class=xl73 width=60 style='border-left:none;width:60pt'><ruby><rb>出現率</rb><span
  style='display:none'</span></ruby><br>
  の<ruby><rb>差</rb><span
  style='display:none'></span></ruby></td>
  <td  rowspan="2" class=xl65 width=72 style='border-left:none;width:72pt'>カウント<ruby><rb>差</rb><span
  style='display:none'></span></ruby></td>
  <td  rowspan="2" class=xl69 width=49 style='border-left:none;width:49pt'>カウント<br>
  <ruby><rb>順位</rb><span
  style='display:none'></span></ruby></td>

  <td colspan="3" class=xl69 width=67 style='border-left:none;width:67pt;text-align:center;'>before</td>
  <td colspan="3" class=xl69 width=62 style='border-left:none;width:62pt;text-align:center;'>after</td>
 </tr>


 <tr height=31 style='height:31.0pt'>
  <td class=xl69 width=67 style='border-left:none;width:67pt'>
  <ruby><rb>出現</rb><span
  style='display:none'></span></ruby></td>
  <td class=xl69 width=75 style='border-left:none;width:75pt'>
  <ruby><rb>出現</rb><span
  style='display:none'></span></ruby>しない</td>
  <td class=xl69 width=65 style='border-left:none;width:65pt'>
  <ruby><rb>出現率</rb><span
  style='display:none'></span></ruby></td>
  <td class=xl69 width=62 style='border-left:none;width:62pt'>
  <ruby><rb>出現</rb><span
  style='display:none'></span></ruby></td>
  <td class=xl69 width=76 style='border-left:none;width:76pt'>
  <ruby><rb>出現</rb><span
  style='display:none'></span></ruby>しない</td>
  <td class=xl69 width=57 style='border-left:none;width:57pt'>
  <ruby><rb>出現率</rb><span
  style='display:none'></span></ruby></td>
 </tr>

 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>1</td>
  <td class=xl66 style='border-top:none;border-left:none'>新作</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>7.75%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>7,816</td>
  <td class=xl71 style='border-top:none;border-left:none'>1</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>2,446</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>119,717</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.00%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>10,262</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>94,928</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>9.76%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>2</td>
  <td class=xl66 style='border-top:none;border-left:none'>飲む</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>3.34%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>2,203</td>
  <td class=xl71 style='border-top:none;border-left:none'>3</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>9,455</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>112,708</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>7.74%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>11,658</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>93,532</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>11.08%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>3</td>
  <td class=xl66 style='border-top:none;border-left:none'>アーモンドミルク</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.23%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>2,266</td>
  <td class=xl71 style='border-top:none;border-left:none'>2</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>561</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,602</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.46%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>2,827</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>102,363</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.69%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>4</td>
  <td class=xl66 style='border-top:none;border-left:none'>ハニー</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.38%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,420</td>
  <td class=xl71 style='border-top:none;border-left:none'>4</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>263</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,900</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.22%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,683</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>103,507</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.60%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>5</td>
  <td class=xl66 style='border-top:none;border-left:none'>美味しい</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.24%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>726</td>
  <td class=xl71 style='border-top:none;border-left:none'>9</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>4,167</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>117,996</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>3.41%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>4,893</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>100,297</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>4.65%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>6</td>
  <td class=xl66 style='border-top:none;border-left:none'>新しい</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.21%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,174</td>
  <td class=xl71 style='border-top:none;border-left:none'>6</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>748</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,415</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.61%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,922</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>103,268</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.83%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>7</td>
  <td class=xl66 style='border-top:none;border-left:none'>アーモンド</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.21%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,230</td>
  <td class=xl71 style='border-top:none;border-left:none'>5</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>290</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,873</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.24%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,520</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>103,670</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.45%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>8</td>
  <td class=xl66 style='border-top:none;border-left:none'>http</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.02%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'><font
  color="#DD0806" style='mso-ignore:color'>-3,605</font></td>
  <td class=xl71 style='border-top:none;border-left:none'>-</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>33,705</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>88,458</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>27.59%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>30,100</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>75,090</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>28.61%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>9</td>
  <td class=xl66 style='border-top:none;border-left:none'>クランチ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.90%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>932</td>
  <td class=xl71 style='border-top:none;border-left:none'>7</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>139</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,024</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.11%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,071</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,119</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.02%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>10</td>
  <td class=xl66 style='border-top:none;border-left:none'>with</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.86%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>869</td>
  <td class=xl71 style='border-top:none;border-left:none'>8</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>287</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,876</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.23%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,156</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,034</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.10%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>11</td>
  <td class=xl66 style='border-top:none;border-left:none'>おいしい</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.80%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>592</td>
  <td class=xl71 style='border-top:none;border-left:none'>10</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,772</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>120,391</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.45%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>2,364</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>102,826</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.25%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>12</td>
  <td class=xl66 style='border-top:none;border-left:none'>フラペチーノ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.73%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>378</td>
  <td class=xl71 style='border-top:none;border-left:none'>12</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>2,775</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>119,388</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.27%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>3,153</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>102,037</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>3.00%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>13</td>
  <td class=xl66 style='border-top:none;border-left:none'>今日</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.68%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'><font
  color="#DD0806" style='mso-ignore:color'>-185</font></td>
  <td class=xl71 style='border-top:none;border-left:none'>-</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>6,497</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>115,666</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>5.32%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>6,312</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>98,878</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>6.00%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>14</td>
  <td class=xl66 style='border-top:none;border-left:none'>甘い</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.67%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>547</td>
  <td class=xl71 style='border-top:none;border-left:none'>11</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,121</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,042</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.92%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,668</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>103,522</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.59%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>15</td>
  <td class=xl66 style='border-top:none;border-left:none'>やつ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.56%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>268</td>
  <td class=xl71 style='border-top:none;border-left:none'>18</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>2,291</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>119,872</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.88%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>2,559</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>102,631</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.43%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>16</td>
  <td class=xl66 style='border-top:none;border-left:none'>https</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.45%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>57</td>
  <td class=xl71 style='border-top:none;border-left:none'>75</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>3,023</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>119,140</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.47%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>3,080</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>102,110</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.93%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>17</td>
  <td class=xl66 style='border-top:none;border-left:none'>みる</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.42%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'><font
  color="#DD0806" style='mso-ignore:color'>-14</font></td>
  <td class=xl71 style='border-top:none;border-left:none'>-</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>3,255</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>118,908</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.66%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>3,241</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>101,949</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>3.08%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>18</td>
  <td class=xl66 style='border-top:none;border-left:none'>商品</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.40%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>301</td>
  <td class=xl71 style='border-top:none;border-left:none'>13</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>829</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,334</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.68%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,130</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,060</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.07%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>19</td>
  <td class=xl66 style='border-top:none;border-left:none'>うまい</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.39%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>274</td>
  <td class=xl71 style='border-top:none;border-left:none'>17</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>982</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,181</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.80%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,256</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>103,934</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.19%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>20</td>
  <td class=xl66 style='border-top:none;border-left:none'>くる</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.34%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'><font
  color="#DD0806" style='mso-ignore:color'>-740</font></td>
  <td class=xl71 style='border-top:none;border-left:none'>-</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>7,878</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>114,285</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>6.45%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>7,138</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>98,052</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>6.79%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>21</td>
  <td class=xl66 style='border-top:none;border-left:none'>ちゃ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.30%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>284</td>
  <td class=xl71 style='border-top:none;border-left:none'>16</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>228</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,935</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.19%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>512</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,678</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.49%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>22</td>
  <td class=xl66 style='border-top:none;border-left:none'>問題</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.30%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>298</td>
  <td class=xl71 style='border-top:none;border-left:none'>14</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>102</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,061</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.08%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>400</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,790</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.38%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>23</td>
  <td class=xl66 style='border-top:none;border-left:none'>人種</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.28%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>291</td>
  <td class=xl71 style='border-top:none;border-left:none'>15</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>29</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,134</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.02%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>320</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,870</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.30%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>24</td>
  <td class=xl66 style='border-top:none;border-left:none'>期間限定</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.26%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>233</td>
  <td class=xl71 style='border-top:none;border-left:none'>19</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>264</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,899</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.22%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>497</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,693</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.47%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>25</td>
  <td class=xl66 style='border-top:none;border-left:none'>はちみつ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.23%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>233</td>
  <td class=xl71 style='border-top:none;border-left:none'>20</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>81</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,082</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.07%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>314</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,876</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.30%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>26</td>
  <td class=xl66 style='border-top:none;border-left:none'>飲める</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.23%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>53</td>
  <td class=xl71 style='border-top:none;border-left:none'>81</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,338</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>120,825</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.10%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,391</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>103,799</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.32%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>27</td>
  <td class=xl66 style='border-top:none;border-left:none'>すぎる</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.22%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'><font
  color="#DD0806" style='mso-ignore:color'>-199</font></td>
  <td class=xl71 style='border-top:none;border-left:none'>-</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>3,104</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>119,059</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.54%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>2,905</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>102,285</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>2.76%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>28</td>
  <td class=xl66 style='border-top:none;border-left:none'>開始</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.22%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>221</td>
  <td class=xl71 style='border-top:none;border-left:none'>21</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>75</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,088</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.06%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>296</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,894</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.28%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>29</td>
  <td class=xl66 style='border-top:none;border-left:none'>ハチミツ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.22%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>220</td>
  <td class=xl71 style='border-top:none;border-left:none'>22</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>64</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,099</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.05%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>284</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,906</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.27%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>30</td>
  <td class=xl66 style='border-top:none;border-left:none'>自宅</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.20%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>200</td>
  <td class=xl71 style='border-top:none;border-left:none'>25</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>103</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,060</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.08%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>303</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,887</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.29%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>31</td>
  <td class=xl66 style='border-top:none;border-left:none'>印象</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.20%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>179</td>
  <td class=xl71 style='border-top:none;border-left:none'>26</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>208</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,955</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.17%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>387</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,803</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.37%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>32</td>
  <td class=xl66 style='border-top:none;border-left:none'>届ける</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.20%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>201</td>
  <td class=xl71 style='border-top:none;border-left:none'>23</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>31</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,132</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.03%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>232</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,958</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.22%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>33</td>
  <td class=xl66 style='border-top:none;border-left:none'>購入</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.19%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>176</td>
  <td class=xl71 style='border-top:none;border-left:none'>27</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>204</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,959</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.17%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>380</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,810</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.36%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>34</td>
  <td class=xl66 style='border-top:none;border-left:none'>新サービス</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.19%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>201</td>
  <td class=xl71 style='border-top:none;border-left:none'>24</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>0</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,163</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.00%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>201</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,989</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.19%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>35</td>
  <td class=xl66 style='border-top:none;border-left:none'>line</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.18%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>141</td>
  <td class=xl71 style='border-top:none;border-left:none'>33</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>378</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,785</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.31%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>519</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,671</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.49%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>36</td>
  <td class=xl66 style='border-top:none;border-left:none'>買う</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.18%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'><font
  color="#DD0806" style='mso-ignore:color'>-316</font></td>
  <td class=xl71 style='border-top:none;border-left:none'>-</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>3,660</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>118,503</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>3.00%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>3,344</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>101,846</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>3.18%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>37</td>
  <td class=xl66 style='border-top:none;border-left:none'>交換</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.17%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>161</td>
  <td class=xl71 style='border-top:none;border-left:none'>30</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>153</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,010</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.13%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>314</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,876</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.30%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>38</td>
  <td class=xl66 style='border-top:none;border-left:none'>感じ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.16%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>59</td>
  <td class=xl71 style='border-top:none;border-left:none'>72</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>791</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,372</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.65%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>850</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,340</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.81%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>39</td>
  <td class=xl66 style='border-top:none;border-left:none'>行く</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.16%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'><font
  color="#DD0806" style='mso-ignore:color'>-1,843</font></td>
  <td class=xl71 style='border-top:none;border-left:none'>-</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>14,473</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>107,690</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>11.85%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>12,630</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>92,560</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>12.01%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>40</td>
  <td class=xl66 style='border-top:none;border-left:none'>プーさん</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.16%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>165</td>
  <td class=xl71 style='border-top:none;border-left:none'>28</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>13</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,150</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.01%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>178</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>105,012</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.17%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>41</td>
  <td class=xl66 style='border-top:none;border-left:none'>キャンペーン</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.16%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>159</td>
  <td class=xl71 style='border-top:none;border-left:none'>31</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>33</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,130</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.03%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>192</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,998</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.18%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>42</td>
  <td class=xl66 style='border-top:none;border-left:none'>昨日</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.15%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'><font
  color="#DD0806" style='mso-ignore:color'>-9</font></td>
  <td class=xl71 style='border-top:none;border-left:none'>-</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,232</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>120,931</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.01%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,223</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>103,967</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.16%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>43</td>
  <td class=xl66 style='border-top:none;border-left:none'>ceo</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.15%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>161</td>
  <td class=xl71 style='border-top:none;border-left:none'>29</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>8</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,155</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.01%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>169</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>105,021</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.16%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>44</td>
  <td class=xl66 style='border-top:none;border-left:none'>latte</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.15%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'><font
  color="#DD0806" style='mso-ignore:color'>-78</font></td>
  <td class=xl71 style='border-top:none;border-left:none'>-</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,704</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>120,459</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.39%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>1,626</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>103,564</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.55%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>45</td>
  <td class=xl66 style='border-top:none;border-left:none'>一言</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.15%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>134</td>
  <td class=xl71 style='border-top:none;border-left:none'>35</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>162</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,001</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.13%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>296</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,894</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.28%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>46</td>
  <td class=xl66 style='border-top:none;border-left:none'>呼び方</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.15%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>142</td>
  <td class=xl71 style='border-top:none;border-left:none'>32</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>97</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,066</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.08%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>239</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,951</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.23%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>47</td>
  <td class=xl66 style='border-top:none;border-left:none'>ビスケット</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.14%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>136</td>
  <td class=xl71 style='border-top:none;border-left:none'>34</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>87</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,076</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.07%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>223</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,967</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.21%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>48</td>
  <td class=xl66 style='border-top:none;border-left:none'>家族</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.14%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>123</td>
  <td class=xl71 style='border-top:none;border-left:none'>39</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>167</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,996</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.14%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>290</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,900</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.28%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>49</td>
  <td class=xl66 style='border-top:none;border-left:none'>微妙</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.14%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>131</td>
  <td class=xl71 style='border-top:none;border-left:none'>36</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>86</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>122,077</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.07%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>217</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,973</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.21%</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl74 style='height:18.0pt;border-top:none'>50</td>
  <td class=xl66 style='border-top:none;border-left:none'>美味い</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.13%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>93</td>
  <td class=xl71 style='border-top:none;border-left:none'>47</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>322</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,841</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.26%</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>415</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>104,775</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.39%</td>
 </tr>
</table>



「新作」、「アーモンドミルク」など 3/18から始まったアーモンドミルクラテに関するツイートが増加していたのですね！

トップ１０の単語を並べ替えると「新作 アーモンドミルク with ハニー クランチ 飲む 美味しい」です！どうやら好評のようです（＾ー＾*）これ、狙って作ったデータではないのですが、キレイに結果が出ました。

「アーモンドミルク ラテ with ハニー クランチ」はこれです。
<blockquote class="twitter-tweet" lang="ja"><p>アーモンドミルクでつくった初めてのラテ。ふわふわのミルク、カリカリのクランチ、とろりと濃厚な「アーモンドミルク ラテ with ハニー クランチ」で、1週間の疲れを癒してみませんか。 <a href="http://t.co/i3IIusHw1E">http://t.co/i3IIusHw1E</a> <a href="http://t.co/1CCN2lG251">pic.twitter.com/1CCN2lG251</a></p>&mdash; スターバックス コーヒー (@Starbucks_J) <a href="https://twitter.com/Starbucks_J/status/578829773230616576">2015, 3月 20</a></blockquote>
<script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script>
「新作」がダントツトップなのは、「スタバの新作飲みたい！」みたいに具体的な名称「アーモンドミルクラテ」がでてこないツイートが結構多かったことが理由のようです。

次に上位の単語のうち「飲む」を除いた"新作", "アーモンドミルク","ハニー", "アーモンド", "新しい"が含まれるツイート数を集計してみます。

```py 
def is_include_word_list(text, word_list,f):
    for word in word_list:
        if text.find(word) > -1:
            return True
    return False


date_dict = defaultdict(int)

word_list = [u"新作", u"アーモンドミルク",u"ハニー", u"アーモンド", u"新しい", "with", u"クランチ"]

with open('armond.txt','w') as f:
    for d in tweetdata.find({'spam': None, 'retweeted_status': None},{'created_datetime':1,'text':1}):
        str_date = date_to_Japan_time(d['created_datetime']).strftime('%Y\t%m/%d %H %a') 

        text = d['text']
        if is_include_word_list(text, word_list,f):
            date_dict[str_date] += 1
            # マッチした対象をファイルに書き出す(for 検証用)
            ret_str = str_date +' '+ text.replace('\n', ' ')+'\n'
            f.write(ret_str.encode('utf-8'))

print "date_dict", len(date_dict)
print "階級数：", len(date_dict)
print "日付" + "\t\t\t" + "# of Tweet"
keys = date_dict.keys()
keys.sort()
for k in keys:
    print k  + "\t" +  str(date_dict[k]) 

```

結果をプロットしたのが下記のグラフです。紫の線がリストアップした単語を含むツイート数です。

![listed-compressor.png](https://qiita-image-store.s3.amazonaws.com/0/50670/a3e3f5f0-0980-5ca5-f849-2d5a03c2740b.png)

この紫の数を、リツイート含まないツイート数（青い線）から引いてあげると…

![listed_diff-compressor.png](https://qiita-image-store.s3.amazonaws.com/0/50670/4eadb169-93c3-a08f-42c8-43a0b7340223.png)

ほとんど山が平らになりました！3/18日以降に増えていた単語は先ほどリストアップしたものでだいたい説明がつくようです。


でも、毎週のツイート数サイクルがこんなに安定しているのはなんででしょうかね、大数の法則ってこと(・ω・)? この謎を解ける人がいたら是非教えて欲しいです。
<br>

このスタバTweet分析もあと、１回か２回くらい続く予定です。
なんか、統計学的に難しいモデルとか使えないかと思って始めたのですが、データ眺めて加工するだけでも結構面白いことができた気がします。
次回はもう少し検定とか推定とかそんな話をしたいかなと思っています。もう少しお付き合いいただければ幸いです。


使用したコードの全体はgistにあります。
https://gist.github.com/matsuken92/72a0da8d9b42bed28e61


###APPENDIX:期間前後の単語の出現確率の検定###

3/18 0:00の前後、各単語の出現有無を2x2のマトリクスにして考えると下記のようになります。これはカイ二乗適合度検定が行える形ですね。beforeとafterで本当に出現率に差があったのかどうか、を検定してみます。

<table border=0 cellpadding=0 cellspacing=0 width=390 style='border-collapse:
 collapse;table-layout:fixed;width:380pt'>
 <col width=150 style='mso-width-source:userset;mso-width-alt:5888;width:150pt'>
 <col width=77 span=3 style='width:77pt'>
 <tr height=31 style='height:31.0pt'>
  <td height=31 class=xl65 width=150 style='height:31.0pt;width:138pt'>単語：<br>アーモンドミルク</td>
  <td class=xl66 width=77 style='border-left:none;width:77pt'>
  出現</td>
  <td class=xl66 width=77 style='border-left:none;width:77pt'>
  出現<br>しない</td>
  <td class=xl66 width=77 style='border-left:none;width:77pt'><ruby><rb>計</rb></ruby></td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl68 style='height:18.0pt;border-top:none'>Before</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>561</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>121,602</td>
  <td class=xl70 align=right style='border-top:none;border-left:none'>122,163</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl68 style='height:18.0pt;border-top:none'>After</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>2,827</td>
  <td class=xl67 align=right style='border-top:none;border-left:none'>102,363</td>
  <td class=xl70 align=right style='border-top:none;border-left:none'>105,190</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl69 style='height:18.0pt;border-top:none'><ruby><rb>計</rb></ruby></td>
  <td class=xl70 align=right style='border-top:none;border-left:none'>3,388</td>
  <td class=xl70 align=right style='border-top:none;border-left:none'>223,965</td>
  <td class=xl70 align=right style='border-top:none;border-left:none'>227,353</td>
 </tr>
</table>

下記がカイ二乗検定をかけた結果の表です。No.39を除き全て有意な結果が出ているので、やはり3/18以前と以降で出現率に変化があったと考えて良さそうです。No.39「行く」ですが、今回の分析対象としては、この単語が増えたと言えないことにさほど不都合はないかなと思いますので、良い結果かと思います。

<table border=0 cellpadding=0 cellspacing=0 width=447 style='border-collapse:
 collapse;table-layout:fixed;width:447pt'>
 <col width=33 style='mso-width-source:userset;mso-width-alt:1408;width:33pt'>
 <col width=138 style='mso-width-source:userset;mso-width-alt:5888;width:138pt'>
 <col width=103 style='mso-width-source:userset;mso-width-alt:4394;width:103pt'>
 <col width=96 style='mso-width-source:userset;mso-width-alt:4096;width:96pt'>
 <col width=77 style='width:77pt'>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl65 width=33 style='height:18.0pt;width:33pt'><ruby><rb>順位</rb></ruby></td>
  <td class=xl65 width=138 style='border-left:none;width:138pt'><ruby><rb>単語</rb></ruby></td>
  <td class=xl66 width=103 style='border-left:none;width:103pt'>chi2</td>
  <td class=xl66 width=96 style='border-left:none;width:96pt'>p-val</td>
  <td class=xl66 width=77 style='border-left:none;width:77pt'><ruby><rb>結果</rb></ruby></td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>1</td>
  <td class=xl68 style='border-top:none;border-left:none'>新作</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>6437.337845</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>2</td>
  <td class=xl68 style='border-top:none;border-left:none'>飲む</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>749.5007818</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>5.15E-165</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>3</td>
  <td class=xl68 style='border-top:none;border-left:none'>アーモンドミルク</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1910.25734</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>4</td>
  <td class=xl68 style='border-top:none;border-left:none'>ハニー</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1275.398025</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>2.51E-279</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>5</td>
  <td class=xl68 style='border-top:none;border-left:none'>美味しい</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>227.0216513</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>2.66E-51</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>6</td>
  <td class=xl68 style='border-top:none;border-left:none'>新しい</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>717.7324129</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>4.17E-158</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>7</td>
  <td class=xl68 style='border-top:none;border-left:none'>アーモンド</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1042.145835</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>1.24E-228</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>8</td>
  <td class=xl68 style='border-top:none;border-left:none'>http</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>29.34665299</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>6.05E-08</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>9</td>
  <td class=xl68 style='border-top:none;border-left:none'>クランチ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>871.5525659</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>1.50E-191</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>10</td>
  <td class=xl68 style='border-top:none;border-left:none'>with</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>667.7020689</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>3.16E-147</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>11</td>
  <td class=xl68 style='border-top:none;border-left:none'>おいしい</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>200.486648</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>1.64E-45</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>12</td>
  <td class=xl68 style='border-top:none;border-left:none'>フラペチーノ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>116.9898183</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>2.89E-27</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>13</td>
  <td class=xl68 style='border-top:none;border-left:none'>今日</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>49.35872884</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>2.13E-12</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>14</td>
  <td class=xl68 style='border-top:none;border-left:none'>甘い</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>207.6474174</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>4.48E-47</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>15</td>
  <td class=xl68 style='border-top:none;border-left:none'>やつ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>83.8410031</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>5.36E-20</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>16</td>
  <td class=xl68 style='border-top:none;border-left:none'>https</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>44.31937829</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>2.79E-11</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>17</td>
  <td class=xl68 style='border-top:none;border-left:none'>みる</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>35.19560616</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>2.98E-09</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>18</td>
  <td class=xl68 style='border-top:none;border-left:none'>商品</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>103.1110711</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>3.17E-24</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>19</td>
  <td class=xl68 style='border-top:none;border-left:none'>うまい</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>87.88641968</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>6.93E-21</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>20</td>
  <td class=xl68 style='border-top:none;border-left:none'>くる</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>10.3550916</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.001291181</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>21</td>
  <td class=xl68 style='border-top:none;border-left:none'>ちゃ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>155.9814931</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>8.54E-36</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>22</td>
  <td class=xl68 style='border-top:none;border-left:none'>問題</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>224.6028811</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>8.96E-51</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>23</td>
  <td class=xl68 style='border-top:none;border-left:none'>人種</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>288.2657541</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>1.19E-64</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>24</td>
  <td class=xl68 style='border-top:none;border-left:none'>期間限定</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>110.5936405</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>7.26E-26</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>25</td>
  <td class=xl68 style='border-top:none;border-left:none'>はちみつ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>174.3777441</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>8.19E-40</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>26</td>
  <td class=xl68 style='border-top:none;border-left:none'>飲める</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>24.391691</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>7.86E-07</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>27</td>
  <td class=xl68 style='border-top:none;border-left:none'>すぎる</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>10.62339463</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.001116659</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>28</td>
  <td class=xl68 style='border-top:none;border-left:none'>開始</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>166.5727271</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>4.15E-38</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>29</td>
  <td class=xl68 style='border-top:none;border-left:none'>ハチミツ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>173.6897162</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>1.16E-39</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>30</td>
  <td class=xl68 style='border-top:none;border-left:none'>自宅</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>130.4736816</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>3.23E-30</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>31</td>
  <td class=xl68 style='border-top:none;border-left:none'>印象</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>83.82905236</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>5.39E-20</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>32</td>
  <td class=xl68 style='border-top:none;border-left:none'>届ける</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>184.6605771</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>4.65E-42</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>33</td>
  <td class=xl68 style='border-top:none;border-left:none'>購入</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>82.49458545</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>1.06E-19</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>34</td>
  <td class=xl68 style='border-top:none;border-left:none'>新サービス</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>231.4807808</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>2.83E-52</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>35</td>
  <td class=xl68 style='border-top:none;border-left:none'>line</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>48.21110495</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>3.83E-12</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>36</td>
  <td class=xl68 style='border-top:none;border-left:none'>買う</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>6.279272571</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.012215823</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>37</td>
  <td class=xl68 style='border-top:none;border-left:none'>交換</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>81.93429413</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>1.41E-19</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>38</td>
  <td class=xl68 style='border-top:none;border-left:none'>感じ</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>20.1122379</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>7.30E-06</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>39</td>
  <td class=xl68 style='border-top:none;border-left:none'>行く</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>1.355305558</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.244352729</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意でない</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>40</td>
  <td class=xl68 style='border-top:none;border-left:none'>プーさん</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>167.4411384</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>2.68E-38</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>41</td>
  <td class=xl68 style='border-top:none;border-left:none'>キャンペーン</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>136.6923979</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>1.41E-31</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>42</td>
  <td class=xl68 style='border-top:none;border-left:none'>昨日</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>12.43299481</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.000421815</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>43</td>
  <td class=xl68 style='border-top:none;border-left:none'>ceo</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>170.5916319</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>5.49E-39</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>44</td>
  <td class=xl68 style='border-top:none;border-left:none'>latte</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>8.815476835</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>0.002986861</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>45</td>
  <td class=xl68 style='border-top:none;border-left:none'>一言</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>61.49900119</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>4.43E-15</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>46</td>
  <td class=xl68 style='border-top:none;border-left:none'>呼び方</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>82.67724362</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>9.66E-20</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>47</td>
  <td class=xl68 style='border-top:none;border-left:none'>ビスケット</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>81.23778177</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>2.00E-19</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>48</td>
  <td class=xl68 style='border-top:none;border-left:none'>家族</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>53.7386464</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>2.29E-13</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>49</td>
  <td class=xl68 style='border-top:none;border-left:none'>微妙</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>77.40857135</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>1.39E-18</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
 <tr height=18 style='height:18.0pt'>
  <td height=18 class=xl67 style='height:18.0pt;border-top:none'>50</td>
  <td class=xl68 style='border-top:none;border-left:none'>美味い</td>
  <td class=xl68 align=right style='border-top:none;border-left:none'>29.5887298</td>
  <td class=xl69 align=right style='border-top:none;border-left:none'>5.34E-08</td>
  <td class=xl68 style='border-top:none;border-left:none'>有意</td>
 </tr>
</table>


カイ二乗適合度検定を行ったコードは下記です。

```py
data = np.array([[2446,119717,10262,94928],
[9455,112708,11658,93532],
[561,121602,2827,102363],
[263,121900,1683,103507],
[4167,117996,4893,100297],
[748,121415,1922,103268],
[290,121873,1520,103670],
[33705,88458,30100,75090],
[139,122024,1071,104119],
[287,121876,1156,104034],
[1772,120391,2364,102826],
[2775,119388,3153,102037],
[6497,115666,6312,98878],
[1121,121042,1668,103522],
[2291,119872,2559,102631],
[3023,119140,3080,102110],
[3255,118908,3241,101949],
[829,121334,1130,104060],
[982,121181,1256,103934],
[7878,114285,7138,98052],
[228,121935,512,104678],
[102,122061,400,104790],
[29,122134,320,104870],
[264,121899,497,104693],
[81,122082,314,104876],
[1338,120825,1391,103799],
[3104,119059,2905,102285],
[75,122088,296,104894],
[64,122099,284,104906],
[103,122060,303,104887],
[208,121955,387,104803],
[31,122132,232,104958],
[204,121959,380,104810],
[0,122163,201,104989],
[378,121785,519,104671],
[3660,118503,3344,101846],
[153,122010,314,104876],
[791,121372,850,104340],
[14473,107690,12630,92560],
[13,122150,178,105012],
[33,122130,192,104998],
[1232,120931,1223,103967],
[8,122155,169,105021],
[1704,120459,1626,103564],
[162,122001,296,104894],
[97,122066,239,104951],
[87,122076,223,104967],
[167,121996,290,104900],
[86,122077,217,104973],
[322,121841,415,104775]])

from scipy.stats import chi2_contingency as chi2_con
for i, d in zip(range(len(data)), data):
    chi2, p, dof, ex = chi2_con(d.reshape(2,2))
    print i+1, " chi2", chi2, "  p-val", p, u"有意" if p < 0.05 else u"有意でない"
```


##参考##
MeCab：形態素解析ライブラリ
http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html

MeCabの新語辞書：Neologism dictionary for MeCab
https://github.com/neologd/mecab-ipadic-neologd/blob/master/README.ja.md

Scikit-leaern：Python用機械学習ライブラリ
http://scikit-learn.org/stable/

<!--
カイ二乗検定？ABテスト
-->