統計ブログはじめました!

各専門分野の統計技術、方法、テクニックなどを気ままに分かり易く例題をもとに解説します。

統計のコツのこつ(65)

2018-03-13 12:33:55 | 日記・エッセイ・コラム

統計のコツのこつ(62)~(64)で使用した例題は入院患者に自由に記載して頂いた"自由記述文"の中から語句を編集したものです。実際、"自由記述文"の中から"名詞"や"形容詞"などの有用な単語や語句を拾いだす作業は容易でありません。
専用の商用ソフト(テキストマイニング)はかなり高価です。
そこで、
フリー(無料)のテキストマイニング・ソフトが望まれますが、既に、この"gooブログ"では、「医学と統計(63)~(70)」で「KH Coder」の使用経験をご紹介しています。

「KH Coder」を使った単語などの抽出から"対応分析、クラスター分析、多次元尺度構成法、共起ネットワーク"の方法をご紹介しています(下記 URL 参照)。
https://blog.goo.ne.jp/k-stat/e/8382e5c656ccd85de2593f7f406eff15?fm=entry_awp

その後、
「KH Coder」はバージョンアップしていましたので、ここに"Download" の仕方などをご紹介しておきます。
***
Downloard のアクセス先:
http://khc.sourceforge.net/dl.html
★KH Coderの著作権は立命館大学産業社会学部 現代社会学科准教授 樋口耕一先生が保持しています
(http://koichi.nihon.to/psnl/  からの情報です)。
***
 
上記URLの説明に従いインストールし圧縮ファイルを解凍されたら、Windows10の場合、多分、「ローカルディスク(C)/khcoder/」に解凍されていると思いますので、「kh_coder.exe」をクリックして立ち上げて下さい。
 
●起動画面
 
 
●例題の準備
http://kstat.sakura.ne.jp/dbase/dbase.html
 
上記の情報統計研究所ホームページから、
[Down Load(医師・患者アンケート)]のExcelファイル(Enqute.xls)をダウンロードし任意のホルダーに保存して下さい。
Sheet名「医師自由文」、「患者自由文」の内容が載っています。
 
●プロジェクトの作成
「KH Coder」の分析には <H1> タグで括るなどの全処理が必要です(マニュアル:khcoder_tutorialpdf 参照)。
 
今回は、
情報統計研究所で既に前処理したファイル「 sheet名:医師自由文 」だけのファイル名[DoctorQuestion.txt]をダウンロードして試して下さい。やり方は、「医学と統計(63)~(70)」を見て下さい。
 
●実行結果
ここでは、「共起ネットワーク」を実行して見ましょう。
ツール→抽出語→共起ネットワーク→品詞による語の取捨選択
[名詞・ザ変名刺→形容動詞・動詞→形容詞](頻度の多い単語)→OK
 
出力画面:
 
共起ネットワーク(Co-occurrence network)とは、その文書の特徴的な単語間の共起(頻繁な出現)関係をネットワーク図にしたものあり、読み解くのは分析者に依存します。
 
「対応分析、クラスター分析、多次元尺度構成法」などもマニュアル(ローカルディスク(C)/khcoder/khcoder_tutorialpdf)を参考にやって見て下さい。
 
多くの方々に見て頂き嬉しく思っています。次回までしばらく間があきますがよろしくお願いします。

情報統計研究所はここから!
 
 
 

統計のコツのこつ(64)

2018-03-07 19:40:58 | 日記・エッセイ・コラム
前前回(62)と前回(63)では、アンケートの語句を一まとめにしてクラスター分析と主成分分析の「R」による手法をご紹介しました。しかし、
前前回(62)のデータは、入院1週間から3週間に渡ってアンケートをとっています。
実際のアンケートでは、回答(語句の頻度)が1~3週間でどの様になっているかを知りたいと思うでしょう。
クラスター分析や主成分分析の有効な活用法を知ったうえで、類似性のデータマップを作りたいと思います。
その1つの方法として、
・多次元尺度構成法 ・対応分析
 
などの方法があります。
ここで取り上げる手法は「対応分析」であり、カテゴリー変数間の関連性を対応分析布置図として表現します。
なお、
多次元尺度構成法や対応分析は「すぐに役立つ統計のコツ」(オーム社)でご紹介していませんので、詳細は専門書やwebサイトなどを参考にして下さい。
それでは、
「R」による対応分析(多次元尺度構成法をカイ二乗距離に適用したものと言える)の手法を記しておきます。
 
***
dat<- read.delim("clipboard", header=T, row.names=1) # Excel などからコピー&ペースト
head(dat)
library(MASS) # library(MASS)が必要
cores<- corresp(dat, nf=2)
biplot(cores) # 布置図の作成
***
出力結果:
図1 対応分析布置図
 
 
図1の布置図から、入院経過(1週目~3週目)と語句の変化が読み取れる様です。
すなわち、
入院1週目は家族や友達の励ましがあって、看護師など周囲に感謝の気持ちが表れているように思われます。入院2週目になると、不安な気持ちになりがちで、それを払拭するように努めて明るく振る舞っているのかも知れません。入院3週目になると、顔色の悪さなどから病状を実感し悲観的になっているのでしょうか? この例題はあくまでも実データの一部に過ぎません。
この様に、
対応分析ではクラスター分析や主成分分析で見られなかった時間経過(変数間)での心情を推しはかることが出来るかも知れません。
 
情報統計研究所はここから!

統計のコツのこつ(63)

2018-03-05 16:35:01 | 日記・エッセイ・コラム
「すぐに役立つ統計のコツ」(124ページ)を見て下さい。
本書での主成分分析は、無料のフリーオンライン・ソフトで主成分分析の方法をご紹介していますが、
使用方法の記述が不十分でした。
使用方法:
「https://www.wessa.net/stat.wasp」にアクセス→Factor Analysis(click)→
Rotated Factor Analysisi(click)→本書(128ページ)の要領でデータを入力。

前回(62)と同じ例題(アンケート)を使って、主成分分析をやってみましょう。
先に紹介した無料のフリーオンライン・ソフトは日本語に対応していませんので、このソフトで使用している「R」プログラムでやってみましょう(上記URLのSource code of R module 参照) 。
前回の「表1 女性入院患者から抽出した語句(Words)」が MS-Excel で作成されているとき・・。
 
「R」プログラム:
***
y<- read.delim("clipboard", header=T, row.names=1) # コピー&ペーストで実行。
head(y) # データの確認
 
library(psych) # 事前にライブラリー(psych)をdownloardしておく。
fit <- principal(y, nfactors=2, rotate="varimax")  # 回転方法は"varimax"を指定してみた。
fit
round(fit$loadings[],2) # 負荷量の表示
round(fit$values, 2)     # 固有値の表示
round(fit$score, 2)       # スコアーの表示
 
# 主成分散布図の作成
plot(fit$scores[,1], fit$scores[,2] , pch=20, xlim=c(-2,4)) # この例題での横軸目盛
 text(fit$scores[,1], fit$scores[,2], labels=rownames(y))
***
 
出力結果:
 
表1 出力結果(要約)
 
図1 主成分散布図
 
回転方法(rotate)には、次の方法が指定出来ます。
"none", "varimax", "quartimax", "promax", "oblimin", "simplimax", and "cluster"
 
回転方法の選択には、ある程度の試行錯誤が必要でしょう。
主成分散布図とデンドログラム(前回)はよく似ていると思いますが如何でしょうか・・。
端的に言えば、
「主成分分析は複数の変数(因子)の特徴を明らかにする手法であり、クラスター分析はクラスターの中心からの距離の違いにより分岐させ分類する手法」
と言えます。
 
***
統計学入門(杉本典夫先生)参照
www.snap-tck.com/room04/c01/stat/stat16/stat1601.html
http://www.snap-tck.com/room04/c01/stat/stat20/stat2001.html
***
 
この様な統計学的な方法により、アンケート(語句の頻度)から、患者の気持ちを視覚化し内在する心理を把握し医療現場に生かすためにも統計分析は大いに役立つものと思います。
 
情報統計研究所はここから!