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

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

統計のコツのこつ(19)

2016-09-19 18:15:17 | 日記・エッセイ・コラム
このブログは「すぐに役立つ統計のコツ」(オーム社)で書き足らなかった事柄を書いています。
今回は、「クラスター分析」のいくつかの方法をデータ解析環境「R」を使ってご紹介します。
それでは、「すぐに役立つ統計のコツ」第7章(117ページ)を開いて下さい。
 
本書の「例題 20」(表7.24)は情報統計研究所(HP)の「著書の正誤表と例題」の[Excel Samples]をクリックし、[Excel Sample(2)]をダウンロードして下さい。

[Excel_Sample(2).xlsx](Sheet名:表7.25)の「A1~E7」を「選択→コピー」し「R」に
取り込んで下さい。要領は統計のコツのこつ(16)と同じです。
 
それでは[R]を立ち上げて下記のコマンドを実行して下さい。
 
***
dat<- read.delim("clipboard", header=T)
head(dat) 
 # 2種類のデンドログラム(樹形図)の作成
 # ユークリッド距離(complete:完全連結法とか最遠隣法と言う) 
plot(hclust(dist(dat, "euclidean"), "complete"), hang=-1)
 # ユークリッド距離(Ward法:ウォード法とか最小分散法とも言う)
plot(hclust(dist(dat, "euclidean"), "ward.D"), hang=-1)
 
出力結果:
 
図1:最遠隣法
 
 
図2:ウォード法
 
その他の方法を実行される場合は、次の様な引数を使って下さい。
 
単連結法(最近隣法):single
群平均法     :verage
重心法      :centroid
メディアン法     :median
McQuitty法     :mequitty
 
クラスター分析の実例として、情報統計研究所(http://kstat.sakura.ne.jp/index003_2.htm)を参考にして下さい。
 
図3:学力考査のデンドログラム(一例)
 
 
図4:民力指標のデンドログラム(一例)
 

次も引き続き「多変量解析(主成分分析、124ページ)」のお話です。
 
情報統計研究はここから
 

統計のコツのこつ(18)

2016-09-17 12:35:00 | 日記・エッセイ・コラム
このブログは「すぐに役立つ統計のコツ」(オーム社)をもとに、チョットしたコツを書いています。今回は「ロジスティック回帰分析による判別分析」のお話です。
それでは、「すぐに役立つ統計のコツ」第7章(114ページ)を開いて下さい。
 
本書の例題(データ)は下記の情報統計研究所(HP)からダウンロード出来ますのでご利用下さい。
 
● 判別分析(本書114ページ)について。
本書「例題 19」(表7.23)はフリーオンラインソフトを利用しています。ここでは、データ解析環境「R」での方法をご紹介します。まずは、データを前号(16)の要領でダウンロードして下さい。
 
本書の例題(データ)は下記の情報統計研究所(HP)からダウンロード出来ますのでご利用下さい。
 
本書では、前号(16)と同じ要領でロジスティック回帰分析による非線形判別分析を行っています。分析方法は、
「Bias-Reduced Logistic Regression Analysis」ですが、目的変数の例数に大きな違いはないので通常のロジスティック回帰分析を行っても構いません。
 それでは、これを、[R」でやってみましょう。

「R]には、
線形判別分析用の関数(lda)がありますので、この方法で試してみましょう。
「R]のコマンドあ次の通りです。
***
dat<- read.deim("clipboard", header=T)
head(dat)
 
library(MASS)
fit<- lda(Disease~ U.Pro+ S.BMG, prior = c(1,1)/2, data=dat)
fit
 
出力結果:
Call:
lda(Disease ~ U.Pro + S.BMG, data = dat, prior = c(1, 1)/2)
 
Prior probabilities of groups:
糸球体腎炎 尿細管障害
       0.5        0.5
 
Group means:
              U.Pro    S.BMG
糸球体腎炎 248.5882 2.680588
尿細管障害 121.8667 8.432000
 
Coefficients of linear discriminants:
               LD1
U.Pro -0.002413304
S.BMG  0.186415093
 
切片は次により求めます。
> apply(fit$means%*%fit$scaling, 2, mean)
      LD1
0.5887669
 
よって、判別関数式は、
z=-0.002413304*U.Pro+ 0.186415093*S.BMG- 0.5887669
 
となります。
この判別関数式から求めた判別得点(z)が、
 
 Z<0 ならば "糸球体腎炎"、そうでなければ"尿細管障害"
 
と判別されます。
 
なお、判別結果は次によりおこないます。
> table(dat$Disease, predict(fit)$class)
           
             糸球体腎炎 尿細管障害
  糸球体腎炎         17          0
  尿細管障害          3         12
 
よって、
一致率は 29/32=0.90625(90.63 %)となります。
 
本書(116ページ)の
ロジスティック回帰分析(本書、116ページ)の一致率(84.38 %)よりも良い結果となっています。       
***
 
本書(116ページ)では、非線形判別分析の1方法として、
library(MASS)
qad((Disease~ U.Pro+ S.BMG, prior = c(1,1)/2, data=dat)
 
の結果を載せています。
 
情報統計研究はここから
 
 
 

統計のコツのこつ(17)

2016-09-10 12:08:03 | 日記・エッセイ・コラム
前号の続きです。
それでは、「すぐに役立つ統計のコツ」第7章(106ページ)を開いて下さい。
 
本書(表7.20、109ページ)の結果は、下記のフリーオンラインソフトによるものでした。
 
 
このフリーオンラインソフトの結果は、下記のコマンドで実行出来ます。
 
library(rbglm)
fit<- brglm(Event~ factor(f_Var.1)+ factor(f_Var.2)+ factor(f_Var.4), data=dat)
summary(fit)
 
出力結果:
********
Call:
brglm(formula = Event ~ f_Var.1 + f_Var.2 + f_Var.4, data = dat)
 
Coefficients:
            Estimate Std. Error z value Pr(>|z|)  
(Intercept)  -2.4247     0.9209  -2.633  0.00847 **
f_Var.1       2.0583     0.9730   2.115  0.03439 *
f_Var.2       1.3592     0.9250   1.469  0.14172  
f_Var.4       1.7358     0.8104   2.142  0.03220 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
(Dispersion parameter for binomial family taken to be 1)
 
Null deviance: 45.170  on 39  degrees of freedom
Residual deviance: 35.008  on 36  degrees of freedom
Penalized deviance: 32.52244
AIC:  43.008
********
それでも、表7.20の p値と微妙に違うけど・・・、
 
 
このフリーオンラインソフトでは、次によりp値を補正しています。
 
d<- fit$df.residual
2*(1-pt(abs(rc[1,3]),d))
 
補正後のp値は次の通りであり表7.20 の p値と一致します。
 
********
> 2*(1-pt(abs(rc[1,3]),d))
[1] 0.01239416
> 2*(1-pt(abs(rc[2,3]),d))
[1] 0.04137652
> 2*(1-pt(abs(rc[3,3]),d))
[1] 0.1504057
> 2*(1-pt(abs(rc[4,3]),d))
[1] 0.03903875
********
 
 
 
ロジスティック回帰分析において、目的変数の数が大きく違っていなければ、通常の glm()を使えば良いでしょう。
 
このブログは「すぐに役立つ統計のコツ」(オーム社)をもとに、思いついた事を書いています。
次も引き続き「多変量解析」のお話です。
 
情報統計研究はここから

統計のコツのこつ(16)

2016-09-08 11:23:07 | 日記・エッセイ・コラム
このブログは「すぐに役立つ統計のコツ」(オーム社)をもとに、チョット付け加えておきたい事やチョット参考になるかも・・を書いています。
気軽に見て頂ければと思っています。前号に引き続き「多変量解析」のお話です。
 
それでは、「すぐに役立つ統計のコツ」第7章(106ページ)を開いて下さい。
 
本書の例題(データ)は下記の情報統計研究所(HP)からダウンロード出来ますのでご利用下さい。
 
● ロジスティック回帰分析(本書106ページ)について。
これは、いくつかの説明変数に対して、目的変数が2値(「ある/なし」など)の場合の回帰分析です。前号の重回帰分析と同じように回帰モデルから有意な説明変数を知ることが出来ます。
Excelでは「ソルバー」の機能を用いて計算できますが、データ解析環境「R」だと非常に簡単な関数「glm()」でOKです!
 
本書の「例題18」(表7-18、107ページ)を「R」でやってみましょう。
 
まずはデータを次の要領でダウンロードして下さい。
 
Windows の場合: 
・情報統計研究所(http://kstat.sakura.ne.jp)にアクセス
・Top ページの「Excel Saples」をクリック
・Excel_Sample(2).xlsx を右クリック
・「名前を付けて保存」を選択し適当なフォルダーに保存します。
・Excelを起動し、本ファイルを読み込み Sheet名「表7.18」を開いて下さい。
・「A列1行:E列41」を選択しコピー
 そして、
 
データ解析環境「R」を立ち上げ、次のコマンドを書いて下さい。
dat<- read.deim("clipboard", header=T)
 
そして、「Enter」で実行すればデータが読み込まれます。
ここで、
 
・ファイル→新しいスクリプト→無題-Rエディタ→次のコマンドを書き込みます。
 
head(dat) # データの確認
fit<- glm(Event~ factor(f_Var.1)+ factor(f_Var.2)+ factor(f_Var.4), data=dat)
summary(fit)
 
なお、f_Var が「0,1」であれば、factor を省略出来ます。
 
実行結果は次の通りです。
 
出力結果: 
********
Call:
glm(formula = Event ~ factor(f_Var.1) + factor(f_Var.2) + factor(f_Var.4),
    data = dat)
 
Deviance Residuals:
     Min        1Q    Median        3Q       Max 
-0.99153  -0.27966  -0.00636   0.35805   0.72034 
 
Coefficients:
                 Estimate Std. Error t value Pr(>|t|) 
(Intercept)       0.02119    0.12659   0.167   0.8680 
factor(f_Var.1)1  0.36864    0.14069   2.620   0.0128 *
factor(f_Var.2)1  0.25847    0.14815   1.745   0.0896 .
factor(f_Var.4)1  0.34322    0.13483   2.546   0.0153 *
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
 
(Dispersion parameter for gaussian family taken to be 0.1588983)
 
    Null deviance: 10.0000  on 39  degrees of freedom
Residual deviance:  5.7203  on 36  degrees of freedom
AIC: 45.721
 
Number of Fisher Scoring iterations: 2
********
 
「すぐに役立つ統計のコツ」(表7.20、109ページ)の結果を違うじゃない・・・?
 
そうです!
 
この続きは次号を見て下さい。
 
情報統計研究はここから
 
 
 
 

統計のコツのこつ(15)

2016-09-06 11:20:47 | 日記・エッセイ・コラム
このブログは「すぐに役立つ統計のコツ」(オーム社)をもとに、チョット付け加えておきたい事を書いています。
重複するかも知れませんが、ご参考になればと思っています。
 
それでは、「すぐに役立つ統計のコツ」第7章(94ページ)を開いて下さい。
 
本書の例題(データ)は下記の情報統計研究所(HP)からダウンロード出来ますのでご利用下さい。
 
本書の第7章は、主な「多変量解析」をご紹介しています。
 
● 重回帰分析(本書94ページ)について
統計のコツのこつ(12)では、直線回帰と曲線回帰での回帰モデル(回帰式)についてご紹介しました。
すなわち、目的変数を1つの説明変数で示す回帰モデルでした。
重回帰分析は、2つ以上の説明変数で目的変数を説明するための最適な回帰モデルを導くことです。
よって、
そのモデル式は、
 Y=a1・X1+a2・X2+・・・+ai・Xi
 
となり、
目的変数(Y)は複数の説明変数(X)と係数(a)によって、どの程度正確に予測できるかで回帰モデルの良し悪しが決まります。
 
「すぐに役立つ統計のコツ」第7章(95ページ)の「例題 15」では、スギ花粉飛散数を天候(気温、湿度、天気)で予測する回帰モデルについて、その分析方法を述べています。
 
ここでは、
もっと分かりやすい仮想例題で、単純な重回帰分析やってみましょう。
 
 
Excelによる重回帰分析の方法は、本書をみて下さい。
Excelの出力結果(回帰モデル式)は次の通りです。
 
Y=91.168+2.083・X1+0.5194・X2
 
重決定 R2=0.968
 
X1の有意性:t=4.914(p=0.0079)
X2の有意性:t=4.155(p=0.0142)
 
X1とX2の説明変数は共に有意であり、目的変数に有用な変数と言えます。
 
医学や看護の研究では、回帰モデルよりも目的変数に最も影響する説明変数は何かを問う場合が多いと思います。
その場合でも、
回帰モデルが有用であるかどうか(モデルの有意性)を判断しなければなりません。
もし、有用でないなら他の方法を考える必要があります。
 
下図は、「YとX1」、「YとX2」、そして「Yと予測値Y'」の散布図と決定係数R^2です。
 
 
 
 
 
 
 
 次回は、ロジスティック回帰分析です。
 
情報統計研究はここから