重回帰分析

#######################重回帰分析##############################
data_fin<-c(factor1,factor2,factor3,factor4)
  #使いたい変数を1つのデータにまとめる
class(data_fin)
  #上でまとめたデータの型を確かめる
data_fin<-data.frame(data_fin)
  #データの型を”data.frame”型に変更する
data_fin.sd<-scale(data_fin)
  #データ内の変数を標準化する
class(data2_fin.sd)
  #また、データの型を確認する
data_fin.sd<-data.frame(data_fin.sd)
  #"data.frame"型に変更する
summary(lm(formula=factor1~factor2+factor3+factor4,data=data_fin.sd))
#summary(lm(従属変数~独立変数1+独立変数2+独立変数3,data=データセット名))

#結果の見方
#帰無仮説は「係数=0」
#AICは値が小さい方がモデルの当てはまりの良さを示す
#Multiple R-squaredが決定係数
#
library(DAAG)
result<-lm(formula=factor1~factor2+factor3+factor4,data=data_fin.sd)
vif(result)

#多重共線性の確認
#vif関数を使うには、”DAAG”パッケージが必要です。
 #VIF>10だと多重共線性に問題あり。<2なら問題なし。

##############ステップワイズ変数選択による重回帰分析######################

sreg("f2s","f3s","f4s","f5s","a1", stepwise=TRUE, P.in=0.05, P.out=0.05, predict=FALSE, verbose=TRUE)

#引数
#data        データ行列。従属変数は最終列におき,それ以外は独立変数と見なす。
#stepwise    ステップワイズ変数選択をする
#P.in        Pin(デフォルトは 0.05)
#P.out       Pout(デフォルトは 0.05,Pout ≧ Pin のこと)
#predict     個々の予測結果などを出力するかどうか(デフォルトは FALSE)
#verbose     ステップワイズ変数選択の途中結果を出力する
#偏回帰係数など,分割表,決定係数など,予測値などに関する結果はそれぞれ,「分析結果」,「分散分析表」,「決定係数」,「予測」の要素名で参照できる。
#plot メソッドとして,3種類の回帰診断プロットを用意している(このページの下の方を参照)。

#ソース
#インストールは,以下の 1 行をコピーし,R コンソールにペーストする
source("http://aoki2.si.gunma-u.ac.jp/R/src/sreg.R";, encoding="euc-jp")


############多重ロジスティック回帰分析###################
#R に用意されている glm 関数を用いて多重ロジスティック回帰分析を行う。

#データフレーム
data.fin.m<-xn[,c("a1","f1s","f2s","f3s","f4s","f5s")]

data.fin<-scale(data.fin.m)
data.fin<-data.frame(data.fin)

xn$ar1 <- 1+xn$a1
xn$a1<- xn$ar1

summary(glm(a1~f1s+f2s+f3s+f4s+f5s,data.fin.m,family=binomial))
    #モデル式
    #モデル式は y ~ x1+x2+x4 のような形式で表現する
    #モデル式中の y,x1,x2,x3 などはデータフレームの変数名

summary(glm(a1~f1s,data.fin.m,family=binomial))
summary(glm(a1~f2s,data.fin.m,family=binomial))
summary(glm(a1~f3s,data.fin.m,family=binomial))
summary(glm(a1~f4s,data.fin.m,family=binomial))
summary(glm(a1~f5s,data.fin.m,family=binomial))

summary(glm(a1~f3s,data.fin.m,family=binomial))


##使用例
#分析に使うデータは lr.data という名前で用意されているとする(lr.data を見てみる)。
#独立変数は x1, x2
#従属変数は y



data <- read.table("lr.data", header=TRUE)
result1 <- glm(a1~f1s+f2s+f3s+f4s+f5s,data.fin,family=binomial)
result
summary(result1)
coefficients(result)
residuals(result)
  など

result0 <- glm(y ~ 1, data, family=binomial)
anova(result0, result, test="Chisq")

コメント

このブログの人気の投稿

subsetで必要なデータだけを、取り出す。

Googleフォームの使い方(基本編)

Rでの、データの基礎統計量の算出(summary,describe)

Googleフォーム使い方(応用編) 回答に応じて分岐、セッションの移動

Googleフォームの使い方(応用編) 設定の使い方