アンケート取得にスマホ(タブレット)を
活用しようぜ
(フィールドワーク初歩的エッセンスと有意性検定なども
公立大学 産業技術大学院大学 産業技術研究科
創造技術専攻 (川田PBL) M2 / 斉藤之雄
Yukio Saito (M2/AIIT), 31-May-2014 1
このスライドは社会人学生が専業学生へ、
スキルトランスファした内容を纏めたものです。
ベテラン フィールドワーカー(アンケート、キャッチセールス、
ナンパ、幹線インフラ工事、架線工事等)の社会人学生なら
ではのノウハウをもとにしています。
本スライド公開は個人研究一環としています。
→社会人学生は専業学生を支援し、計画成果を繰返しチーム
成長となる行動科学について。
Yukio Saito (M2/AIIT), 31-May-2014 2
アンケート・フィールドワークを行う方へ!
事前に決定していたテキトーな活動予定を正当化する
アンケート活動ではないですよね?
それは誘導であって、アンケート設計について学習を
正しくしたほうがいいでしょう。統計と有意性検定も。
Yukio Saito (M2/AIIT), 31-May-2014 3
フィールドワークを行う方へ!
その活動はどこで行いますか?
道路使用、道路占有の許可申請は終えていますよね。
活動者の安全確保とトラブルの未然予防を最初に
考えましょう。学生が行うならば指導教員へ計画相談は
必要不可欠です。あるいは学生課など事務担当にも。
※異性ナンパ, 営業売付けなど学校品位を損ねるような活動をフィールドワークでしちゃダメ。
あくまでも学習調査目的に徹しよう!(個人情報保護の観点からも記録係の活動範囲も明確にしておこう)
Yukio Saito (M2/AIIT), 31-May-2014 4
アンケート企画(設計)
何故アンケートを行うのか
どんな仮説があり、何を調査したいのか?
ここではその How-to は書かない。
(例外:AIIT PBL/BacklogにHow-to共有済み)
アンケートは「質問調査」であること。
学生プロジェクトで初めてアンケート活動を行う方なら
そのアンケートの目的(本質)を明確にしておくといいでしょう。
※http://ja.wikipedia.org/wiki/%E3%82%A2%E3%83%B3%E3%82%B1%E3%83%BC%E3%83%88
↑ウィキペディア「アンケート」に掲載されている内容はすべてではないが概ね理解していれば、と。
Yukio Saito (M2/AIIT), 31-May-2014 5
アンケート実施前
課外活動なら身近なステークホルダー(他メンバ、指導教員)へ活動
計画について情報共有をお願いします。
計画説明し、実施報告を行う。
この基本姿勢は学生は決して免れるものではありません。
良い報告しかないものは、悪い報告をしないのではないかと疑義を
持たれてしまいます。(文書および取得情報管理も徹底しましょう)
Yukio Saito (M2/AIIT), 31-May-2014 6
アンケート実施
[これまでの時代]
アンケート用紙作成→印刷→現地で記入→文書管理→集計→計画していた統計
手法による検定と考察→報告→取得文書の適切な廃棄→情報管理
[ベテラン フィールドワーカーが教えたこと]
アンケート設計→Google アカウント取得→ Google フォーム作成→QRコード
作成および印刷→フィールド先でスマホ(タブレット)入力支援→あるいは
ソーシャルストリームでアンケート取得も→計画していた統計手法による検定
と考察→報告→情報管理 Yukio Saito (M2/AIIT), 31-May-2014 7
Google フォーム編集例
標準回答項目:
・テキスト(※)
・ラジオボタン
・チェックボックス
・リストから選択
・スケール
・グリッド
・日付
・時間
(※)テキストの場合は、
形態素解析用の辞書を作成し
ておくかどうかはアンケート
設計にてYukio Saito (M2/AIIT), 31-May-2014 8
Google フォーム集計例(自動のため実装不要)
Google アカウントと共有範囲
については、これも事前のアン
ケート設計による。
ただ、従前のように集計作業が
省略されることから、迅速な
有意性検定へ繋げられる便利な
道具である。
Yukio Saito (M2/AIIT), 31-May-2014 9
集計だけで終わりならアンケートを理解していない。
・集計は必要。しかし、そこから自分たちの仮説検定へ繋げる
には詭弁を用いた強引な誘導を行うことが多々ある。
そこで「スーパーなどでの商品陳列を考えるお買い物の組み合
わせが有意性が高いのか」を学習題材として用いられる
アソシエーションルール(連関規則)を例に説明する。
Yukio Saito (M2/AIIT), 31-May-2014 10
アソシエーションルール (連関規則)
フィールドワークで見つけた事象について条件文を与える。
A⇒B (Aは条件部、 Bは結論部)
期待信頼度:Bが起こる確率
支持度:AとBが共に起こる確率
信頼度:Aが起こった前提で、Bが起こる確率
リフト値:信頼度をBが起こる確率で割ったもの
Yukio Saito (M2/AIIT), 31-May-2014 11
アソシエーションルール (連関規則)
R パッケージ arules (エー・ルールズ)には、
9,835 件の購入履歴が登録されている
(POS 売上データ)。
商品数は 169 items (アイテムズ)である。
これは中身を確認するためCSV 形式で出力する
までの Rgui /R Console 操作のスクリーン
ショットである。
Yukio Saito (M2/AIIT), 31-May-2014 12
アソシエーションルール (連関規則)
POS 売上データ:Gsdata.txt 例 (上から10 行抜粋)
"items"
"1" "{citrus fruit,semi-finished bread,margarine,ready soups}"
"2" "{tropical fruit,yogurt,coffee}"
"3" "{whole milk}"
"4" "{pip fruit,yogurt,cream cheese ,meat spreads}"
"5" "{other vegetables,whole milk,condensed milk,long life bakery product}"
"6" "{whole milk,butter,yogurt,rice,abrasive cleaner}"
"7" "{rolls/buns}"
"8" "{other vegetables,UHT-milk,rolls/buns,bottled beer,liquor (appetizer)}"
"9" "{pot plants}"
"10" "{whole milk,cereals}"
Yukio Saito (M2/AIIT), 31-May-2014 13
アソシエーションルール (連関規則)
POS 売上データをMatrix 出力した:Gsdata.csv 例
(商品数とのクロスデータ1行目)
"","frankfurter","sausage","liver loaf","ham","meat","finished products","organic
sausage","chicken","turkey","pork","beef","hamburger meat","fish","citrus
fruit","tropical fruit","pip
fruit","grapes","berries","nuts/prunes","root vegetables","onions","herbs","other
vegetables","packaged fruit/vegetables","whole
milk","butter","curd","dessert","butter
milk","yogurt","whipped/sour cream","beverages","UHT-milk","condensed
milk","cream","soft
(ry
"1",0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
0,0,0,0
(ry Yukio Saito (M2/AIIT), 31-May-2014 14
アソシエーションルール (連関規則)
apriori 実行 (1/2)
> grule1 <- apriori(g0)
parameter specification:
confidence minval smax arem aval originalSupport support minlen maxlen
0.8 0.1 1 none FALSE TRUE 0.1 1 10
target ext
rules FALSE
algorithmic control:
filter tree heap memopt load sort verbose
0.1 TRUE TRUE FALSE TRUE 2 TRUE
Yukio Saito (M2/AIIT), 31-May-2014 15
アソシエーションルール (連関規則)
apriori 実行 (2/2)
apriori - find association rules with the apriori algorithm
version 4.21 (2004.05.09) (c) 1996-2004 Christian Borgelt
set item appearances ...[0 item(s)] done [0.02s].
set transactions ...[169 item(s), 9835 transaction(s)] done [0.00s].
sorting and recoding items ... [8 item(s)] done [0.00s].
creating transaction tree ... done [0.00s].
checking subsets of size 1 2 done [0.02s].
writing ... [0 rule(s)] done [0.00s].
creating S4 object ... done [0.00s].
>
Yukio Saito (M2/AIIT), 31-May-2014 16
アソシエーションルール (連関規則)
支持度 (support)、信頼度(confidence)引数設定 (1/2)
> grule2 <- apriori(g0, p=list(support=0.01,confidence=0.5))
parameter specification:
confidence minval smax arem aval originalSupport support minlen maxlen
0.5 0.1 1 none FALSE TRUE 0.01 1 10
target ext
rules FALSE
algorithmic control:
filter tree heap memopt load sort verbose
0.1 TRUE TRUE FALSE TRUE 2 TRUE
Yukio Saito (M2/AIIT), 31-May-2014 17
アソシエーションルール (連関規則)
支持度 (support)、信頼度(confidence)引数設定 (2/2)
apriori - find association rules with the apriori algorithm
version 4.21 (2004.05.09) (c) 1996-2004 Christian Borgelt
set item appearances ...[0 item(s)] done [0.00s].
set transactions ...[169 item(s), 9835 transaction(s)] done [0.00s].
sorting and recoding items ... [88 item(s)] done [0.00s].
creating transaction tree ... done [0.00s].
checking subsets of size 1 2 3 4 done [0.00s].
writing ... [15 rule(s)] done [0.00s].
creating S4 object ... done [0.00s].
Yukio Saito (M2/AIIT), 31-May-2014 18
アソシエーションルール (連関規則)
生成されたアソシエーション(ルール)分析結果 (1/2)
> grule3 <- sort(grule2, by="confidence")
> grule4 <- head(grule3)
> inspect(grule4)
lhs rhs support confidence lift
1 {citrus fruit,
root vegetables} => {other vegetables} 0.01037112 0.5862069 3.029608
2 {tropical fruit,
root vegetables} => {other vegetables} 0.01230300 0.5845411 3.020999
3 {curd,
yogurt} => {whole milk} 0.01006609 0.5823529 2.279125
4 {other vegetables,
butter} => {whole milk} 0.01148958 0.5736041 2.244885
5 {tropical fruit,
root vegetables} => {whole milk} 0.01199797 0.5700483 2.230969
6 {root vegetables,
yogurt} => {whole milk} 0.01453991 0.5629921 2.203354
Yukio Saito (M2/AIIT), 31-May-2014
19
アソシエーションルール (連関規則)
生成されたアソシエーション(ルール)分析結果 (2/2)
読み方(連関規則を用いて説明するのが高等教育機関の学生ならば)
↓
1行目では、citrus fruit と root vegetables の両方購入した方は同時にother
vegetables を購入した割合が高く、リフト値(信頼度Bが起こる確率で割ったもの)
が 3.029608 であるので有意性が高いと言える。
Yukio Saito (M2/AIIT), 31-May-2014 20
アソシエーションルール (連関規則)
ヒストグラム生成
> itemFrequencyPlot(g0)
※商品数が多いほど正確なアソシエーション分
析は行える反面、ヒストグラム図は細かすぎて
分かり難くなる。
Yukio Saito (M2/AIIT), 31-May-2014
21
まとめ
統計未学習者(あるいは基礎レベル)に多く見受けられる陥りがちなフィールドワークの失敗に焦
点を当て説明した。因果関係について「○○だから▲▲だろう」という説明は社会では通用しない。
因果関係は指標説明を行うことを想定し、「○○だから・・・」といった誰もが思いつく内容だけを
調べては可能性を狭めてしまうこととなる。
サンプルデータが多くなれば意味があるルール(条件)抽出が困難であり、ベン図を用いることは現
実的ではない。そこで、アソシエーションルールに効果が高いとされるアルゴリズム「アプリオリ」
を採用した。こうしたアルゴリズムとの出会いは統計学習を全力で行うしかないが、判断基準に指標
を使う、そのためにコンピュータを使う、反復学習の基礎動機となれば幸いである。その中で、何を
調査したいのか、どんなサンプルが必要となるのか自ずと見えれば、調査ベースのシミュレーション
からもサービスに求められる(必要とされる)要因分析となり、PBLにおける調査から設計活動へ、
またプロトタイプからゴールへ向かう評価にも応用できると考える。
以上
Yukio Saito (M2/AIIT), 31-May-2014 22

アンケート取得にスマホ活用しようぜ