第13回 R言語演習(7)

演習問題1

  • 前回の演習問題で用いたアパートの家賃を被説明変数,専有面積を説明変数とする単回帰モデルを推定しなさい.
  • データの準備
  • まず,データの行列を定義します.
> apt <- matrix(0,nrow=10,ncol=2) 
  • データエディタを起動し,以下のデータを入力します.メニューから,Edit → Data Editorで起動できます.
   floor price
1   16.2   4.5
2   24.3   5.5
3   19.9   5.9
4   24.3   6.0
5   22.3   6.2
6   30.6   7.6
7   50.0   8.0
8   69.3   9.5
9   75.8  10.6
10  69.7  13.5
  • 入力したベクトル apt をデータフレームへ変換します.
> apt.data <-as.data.frame(apt)
  • データを確認します.
> apt.data
   floor price
1   16.2   4.5
2   24.3   5.5
3   19.9   5.9
4   24.3   6.0
5   22.3   6.2
6   30.6   7.6
7   50.0   8.0
8   69.3   9.5
9   75.8  10.6
10  69.7  13.5
  • データフレームに変換すると,データ名$変数名と$記号でデータと変数をつなげることができます.確認してみましょう.
> apt.data$floor 
[1] 16.2 24.3 19.9 24.3 22.3 30.6 50.0 69.3 75.8 69.7
  • 回帰モデルの推定
  • 回帰モデルを推定するコマンド lm でモデルを推定します.
> apt.lm <- lm(price~floor,data=apt.data) 
  • コマンド lm(y~x data=x) は,直線回帰モデルを推定します.このとき,y~x はyという被説明変数をxという説明変数を使った回帰モデルで推定することをdata=x は推定するモデルの元データを意味しています.
  • 回帰モデルの出力結果を見てみましょう.
> summary(apt.lm) 
------------------------------------------------------------------
Call:
lm(formula = price ~ floor, data = apt.data)
Residuals:
    Min      1Q  Median      3Q     Max 
-1.3349 -0.7450 -0.2769  0.3759  2.6223 
Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  3.43055    0.79527   4.314 0.002568 ** 
floor        0.10685    0.01728   6.183 0.000264 ***
---
Signif. codes:  0 `***' 0.001 `**' 0.01 `*' 0.05 `.' 0.1 ` ' 1 
Residual standard error: 1.22 on 8 degrees of freedom
Multiple R-Squared: 0.8269,     Adjusted R-squared: 0.8053 
F-statistic: 38.23 on 1 and 8 DF,  p-value: 0.0002643 
------------------------------------------------------------------
  • 上の結果の見方を説明しましょう.
    • Call: は,先ほど入力した回帰モデル.
    • Residuals: は残差です.
    • Coefficients:(相関係数)
    • t value:(t値)
    • Multiple R-Squared:(決定係数)
  • 結果をグラフに出力してみましょう.まず,散布図をプロットします.

plot(x=apt.data$floor,y=apt.data$price,xlab="floor",ylab="price")

  • 次に,回帰直線を上書きします.

abline(apt.lm)

  • 回帰モデルの直線式から家賃の理論値(予測値)を算出してみましょう.
> apt.pre <- 0.10685*apt.data$floor+3.43055 
> apt.pre 
[1] 5.161520 6.027005 5.556865 6.027005 5.813305 6.700160 8.773050
[8] 10.835255 11.529780 10.877995 
  • 誤差項を計算し,プロットしてみましょう.
> err.apt <- apt.data$price - apt.pre 
> err.apt 
[1] -0.661520 -0.527005 0.343135 -0.027005 0.386695 0.899840 -0.773050
[8] -1.335255 -0.929780 2.622005 
  • 求めた誤差項をプロットしてみましょう.
> plot(err.apt) 

演習問題2

  • USArrests(合衆国の犯罪発生件数)データを用いて,単回帰モデルを作成する.
  1. 都市人口を説明変数,犯罪の種類(殺人,暴行,レイプ)別犯罪発生件数を被説明変数とする単回帰モデルを作成する.
  2. ある犯罪発生件数から,別の犯罪発生件数を説明する単回帰モデルを作成する.
  • データを読み込みます.
> data(USArrests) 
  • USArrestsは,R言語でのbase packageで利用可能なデータです.
  • サマリーを表示します.
> summary(USArrests) 
   殺人      暴行      都市人口     レイプ
     Murder          Assault         UrbanPop          Rape      
 Min.   : 0.800   Min.   : 45.0   Min.   :32.00   Min.   : 7.30  
 1st Qu.: 4.075   1st Qu.:109.0   1st Qu.:54.50   1st Qu.:15.07  
 Median : 7.250   Median :159.0   Median :66.00   Median :20.10  
 Mean   : 7.788   Mean   :170.8   Mean   :65.54   Mean   :21.23  
 3rd Qu.:11.250   3rd Qu.:249.0   3rd Qu.:77.75   3rd Qu.:26.18  
 Max.   :17.400   Max.   :337.0   Max.   :91.00   Max.   :46.00  
  • このとき
    • Min は最小値
    • 1st Qu は四分位点の1/4値
    • Median は中央値
    • Mean は平均値
    • 3rd Qu は四分位点の3/4値
    • Max. は最大値

演習問題3

  • 第5回レポート課題で示した問題を,R言語で解いてみましょう.

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2006-06-24 (土) 09:23:34 (4771d)