2007年05月28日
2007年5月28日
琉大では3年毎に見直される情報システムだが、今年度がその年に当たってしまった。システムの改善は望ましいが、統計処理システムがSASからRに変わった。それはそれで好ましいが、Rはfreeなのだから各自でインストール可能だし、むしろSを導入してもらいたかったところだ。ただこれまでのMapleとMatlabにMathematicaが追加されたのは素晴らしい。一応、数式処理ソフトは定番が揃ったことになる。
何とかならんものかと情報センターに問い合わせると、SASは医学部の実習室でないと使えないと、あっさり断られた。医療や薬学、保健分野でのSASの実績は大きいが、最近は保険、金融でもB=Sモデルやオプション、金融商品の設計のために基幹システムとして導入されているケースも多い。またGISや最適化問題でも多くの資産が蓄積されている。琉大では農学の新城先生はテキストの発行など第1人者でもある。そのSASが今年から、実習では使えないというのは非常に残念。とはいえ直接センターに行けばCDを借りることができます。興味とやる気のある方はチャレンジしてみてください。
先週やったこと。
対話型でRを使用したが、直接、複数行を入力したり、ファイル入力もできる。
以下は先週実行したコードである。
uri=c(8,9,10,12,11,13)
kou=c(5,5,7,5,8,12)
sal=c(6,8,10,12,12,12)
est1<-lm(uri~kou)
est2<-lm(uri~sal)
summary(est1)
summary(est2)
plot(kou,uri)
lines(kou,fitted(est1))
uri(売上),kou(広告費),sal(セールスマン数)の3変数を定義し、単回帰とグラフのプロットを試した。
今回やること
単回帰は説明変数が一変数だが、重回帰は2変数以上になる。
単回帰:y=a+b・x
重回帰:y=a+b・x+c・z+・・・
直感的な違いは散布図での表示が複雑になることだろうか。

ようは説明変数がたくさんあるということ。
先週使用したデータで重回帰をやってみる。
売上=f(広告費、サラリーマン数)
式:uri=定数項+係数1×広告費+係数2×セールスマン数
推計する前に変数の関係を確認してみる。
・相関行列
まずデータセットを作成する。3変数を一組として扱う。これは変数やデータ数が多くなると必須となる。
支店別データなので、データセット名をsitenとしてみる。
siten<-data.frame(uri,kou,sal)
cor(siten)
これで相関行列が出力される。桁数を指定するときはround関数を用いる。
round(cor(siten),4)
数値ではイメージしにくいのでマトリックスプロットで見る。
pairs(siten)
pairs関数がマトリックスプロット用の関数で、この他にも様々なオプションがある。
重回帰は次のように指定する。
sitenlm<-lm(uri~.,data=siten)
summary(sitenlm)
見方は、変数が1個増えた以外、単回帰と同じである。
手順のまとめ:
1.データセットの定義
2.相関行列、マトリックスプロットで変数間の関係をチェック
3.重回帰式の推計
次のデータを用いて、上の手順を実行し、マトリックスプロットを出力して、各自のブログにupしてください。また、記事の中でsummaryで出力された内容について評価(コメント)してください。
weight<-c(50,60,65,65,70,75,80,85,90,95)
height<-c(165,170,172,175,170,172,183,187,180,185)
waist<-c(65,68,70,65,80,85,78,79,95,97)
このデータでbodyというデータセットを定義する。
被説明変数はweightにします。
++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++
応用編
回帰診断
結果の解釈について、このモデルが使えるか否か、を判断する材料を示す。
これは最近の回帰分析では流行の手法なので、簡単に触れておくが、詳細は後日、説明します。
方法は回帰結果をプロットするだけですが、4つのグラフが出力されるので、画面を4分割します。
画面の分割
par(mfrow=c(2,2))
結果の出力
plot(sitenlm)
この記事へのコメント
e012345
2007年5月28日
http://e012345.ti-da.net
weight<-c(50,60,65,65,70,75,80,85,90,95)
height<-c(165,170,172,175,170,172,183,187,180,185)
west<-c(65,68,70,65,80,85,78,79,95,97)
body<-data.frame(weight,height,west)
cor(body)
pairs(body)
bodylm<-lm(weight~.,data=body)
summary(bodylm)
2007年5月28日
http://e051304.ti-da.net/
決定係数が高いので、信頼度が高い。
2007/5/28
http://e051192.ti-da.net/
t値が高いのでモデルは信用できる。
2007年5月28日
http://e051151.ti-da.net/
2007年5月28日
http://e051186.ti-da.net/
2007年5月28日
http://e051171.ti-da.net/
2007年5月28日
http://e051152.ti-da.net/
2007年5月28日
http://e051275.ti-da.net/
2007年5月28日
http://e051292.ti-da.net
e051246です。
5月28日 情報処理演習Ⅲ
5月27日
2007年5月28日
http://e051311.ti-da.net
2007年5月28日
http://e051303.ti-da.net/
2007年5月28日
http://e051286.ti-da.net/
t値が高いので信頼出来る。
2007年5月28日
http://e051151.ti-da.net/
2007年5月28日
http://e051303.ti-da.net/
2007年5月28日
e051197
http://e051197.ti-da.net/