ブログトップ 記事一覧 ログイン 無料ブログ開設

hamadakoichi blog このページをアンテナに追加 RSSフィード

2012-05-01

[][][] データマイニングCROSS 2012を開催しました - #TokyoWebmining x #TokyoR x #TokyoNLP x #DSIRNLP  データマイニングCROSS 2012を開催しました - #TokyoWebmining x #TokyoR x #TokyoNLP x #DSIRNLP  - hamadakoichi blog を含むブックマーク  データマイニングCROSS 2012を開催しました - #TokyoWebmining x #TokyoR x #TokyoNLP x #DSIRNLP  - hamadakoichi blog のブックマークコメント

2012/01/27(金) CROSS 2012で「データマイニングCROSS - データマイニングの実ビジネス・サービス活用と展望」を開催しました。

TokyoWebmining 主催の濱田晃一(id:hamadakoichi : @)とTokyo.R主催の里洋平(id:yokkuns : @)がモデレータを行い、TokyoNLPやDSIRNLPコミュニティ医療・広告・検索・マーケティング金融工学など各分野、幅広い方々に登壇して頂きました。


会場拡張を3回したにも関わらず満員で立ち見がでるほどの盛況で、多くの方々に参加して頂け嬉しく思っています。

来場して下さった方々それぞれが、本セッションの内容を受けて、それぞれのサービス・ビジネスをよりよいものとしていく。それにより日本中、世界中の人々へよりよいサービスが提供されていく。その実現を願っています。どうもありがとうございました。

[写真] 壇上から:参加者のみなさんの笑顔

f:id:hamadakoichi:20120127170355j:image:w500

[写真] 壇上から:第2部パネリスト

f:id:hamadakoichi:20120127170408j:image:w500


以下に、データマイニングCROSSの「内容概要」、「各種資料」を記載します。

今後も蓄積データの活用による継続的なサービス・ビジネス洗練の実現、その裾野の拡大に、貢献していきたいと思いますので、TokyoWebmining、Tokyo.R、TokyoNLP、DSIRNLP、含め、今後ともどうぞよろしくお願い致します。


データマイニングCRROSS 内容概要

データマイニングの活用により、蓄積データから有効な法則性を見つけ出し、適切な意思決定やビジネス・サービス洗練を迅速にそして継続的に実現する。2011年大規模分散処理技術・データ基盤の普及によりその可能性はさらに広がり続けている。しかしながら実はデータマイニングを実ビジネス・サービスで活用・成功してくためには、必要なノウハウがある。

TokyoWebmining や Tokyo.Rは、それらのノウハウ・技術を分野横断して共有・議論し、ビジネス・サービス活用の裾野を広げることを目的としたコミュニティです。今回はこの日限定で2つのコミュニティがクロスしたスペシャルコラボレーションソーシャル・広告・マーケティング・検索・医療金融の各領域の第一線でデータマイニングで活躍しているメンバーを迎え、各業界や業界横断の活用ノウハウ、2012年の展望に関し、共有・議論を行います。

この日にしか聞けない特別なノウハウと議論。データマイニング機械学習の活用、迅速・継続的なビジネス・サービス洗練に興味をお持ちの方はぜひご参加ください。

http://tech.nifty.co.jp/party/2012/sessions/cRoom1.htm


AGENDA(※敬称略)

オープニングトーク:

データマイニングの実ビジネス・サービス活用と展望」

濱田晃一(ソーシャルゲームプラットフォーム:TokyoWebmining主催・株式会社ディー・エヌ・エー

第1部クロスパネルディスカッション統計解析や時系列解析

里洋平 (ソーシャルゲームプラットフォーム:Tokyo.R主催・株式会社ディー・エヌー・エー)

紀信邦 (ビジネス展開:株式会社ケイエルエス研究所)

森本修 (マーケティングリサーチ)

市川太祐 (医療)

teramonagi(金融工学)

佐藤敏紀 (自然言語処理)


第2部クロスパネルディスカッション機械学習や大規模分散処理

濱田晃一(ソーシャルゲームプラットフォーム:TokyoWebmining主催・株式会社ディー・エヌ・エー)

中川斉 (マーケティング/広告分析:株式会社ロックオン マーケティングメトリックス研究所)

高田勝裕(広告サプライサイドプラットフォーム:Kauli株式会社)

山崎大輔(広告配信エンジン:株式会社スケールアウト)

上村崇 (ウェブマイニングレコメンド株式会社ALBERT)

奥野陽 (検索・自然言語処理)

関連ツイート

データマイニングCROSの会場Cのツイート。"誰でも編集可能"に設定してあります。

データマイニングCROSS - #CROSS2012 #CROSS2012c - Togetter

関連リンク

コミュニティ Google Group:

2012-01-24

[][][] データマイニングCROSS 2012を開催します - #TokyoWebmining x #TokyoR x #TokyoNLP x #DSIRNLP - #CROSS2012  データマイニングCROSS 2012を開催します - #TokyoWebmining x #TokyoR x #TokyoNLP x #DSIRNLP - #CROSS2012 - hamadakoichi blog を含むブックマーク  データマイニングCROSS 2012を開催します - #TokyoWebmining x #TokyoR x #TokyoNLP x #DSIRNLP - #CROSS2012 - hamadakoichi blog のブックマークコメント

2012/01/27(金) CROSS 2012で「データマイニングCROSS - データマイニングの実ビジネス・サービス活用と展望」を開催します。

TokyoWebmining 主催の濱田晃一(id:hamadakoichi : @)とTokyo.R主催の里洋平(id:yokkuns : @)がモデレータを行い、TokyoNLPやDSIRNLPコミュニティ医療・広告・検索・マーケティング金融工学など各分野、幅広い方々に登壇して頂きます。


CROSS 2012

CROSS 2012は1000人規模のエンジニアコミュニティのクロスイベント。

以下のような技術コミュニティクロスのセッションが開催されます。

等々。全体プログラムこちら

以下、データマイニングCROSSの「内容概要」と「AGENDA」を記載します。

データマイニングCRROSS 内容概要

データマイニングの活用により、蓄積データから有効な法則性を見つけ出し、適切な意思決定やビジネス・サービス洗練を迅速にそして継続的に実現する。2011年大規模分散処理技術・データ基盤の普及によりその可能性はさらに広がり続けている。しかしながら実はデータマイニングを実ビジネス・サービスで活用・成功してくためには、必要なノウハウがある。

TokyoWebmining や Tokyo.Rは、それらのノウハウ・技術を分野横断して共有・議論し、ビジネス・サービス活用の裾野を広げることを目的としたコミュニティです。今回はこの日限定で2つのコミュニティがクロスしたスペシャルコラボレーションソーシャル・広告・マーケティング・検索・医療金融の各領域の第一線でデータマイニングで活躍しているメンバーを迎え、各業界や業界横断の活用ノウハウ、2012年の展望に関し、共有・議論を行います。

この日にしか聞けない特別なノウハウと議論。データマイニング機械学習の活用、迅速・継続的なビジネス・サービス洗練に興味をお持ちの方はぜひご参加ください。

http://tech.nifty.co.jp/party/2012/sessions/cRoom1.htm

AGENDA

オープニングトーク:

データマイニングの実ビジネス・サービス活用と展望」

濱田晃一(ソーシャルゲームプラットフォーム:TokyoWebmining主催・株式会社ディー・エヌ・エー

第1部クロスパネルディスカッション統計解析や時系列解析

里洋平 (ソーシャルゲームプラットフォーム:Tokyo.R主催・株式会社ディー・エヌー・エー)

紀信邦 (ビジネス展開:株式会社ケイエルエス研究所)

倉橋一成(解析コンサルティング:iAnalysis合同会社)

森本修 (マーケティングリサーチ)

市川太祐 (医療)

teramonagi(金融工学)

佐藤敏紀 (自然言語処理)

第2部クロスパネルディスカッション機械学習や大規模分散処理

濱田晃一(ソーシャルゲームプラットフォーム:TokyoWebmining主催・株式会社ディー・エヌ・エー)

中川斉 (マーケティング/広告分析:株式会社ロックオン マーケティングメトリックス研究所)

高田勝裕(広告サプライサイドプラットフォーム:Kauli株式会社)

山崎大輔(広告配信エンジン:株式会社スケールアウト)

上村崇 (ウェブマイニングレコメンド株式会社ALBERT)

奥野陽 (検索・自然言語処理)

http://tech.nifty.co.jp/party/2012/sessions/cRoom1.htm

興味がある方はぜひ。ご参加ください。参加登録ページはこちらです。


関連リンク

関連記事:

2011-04-27

[] R言語による多変量時系列分析−Dynamic Conditional Correlation GARCH Model  R言語による多変量時系列分析−Dynamic Conditional Correlation GARCH Model - hamadakoichi blog を含むブックマーク  R言語による多変量時系列分析−Dynamic Conditional Correlation GARCH Model - hamadakoichi blog のブックマークコメント

R言語による多変量時系列分析。

複数グループ・複数項目の時系列データで時系列間の関係性・影響を明らかにする。


以下、実行可能なR言語ソースコードを用い紹介する。


例:複数時系列間の関係性・影響
  • 農家ごとの農地の肥沃度・人の各仕事の労働量・各肥料の投入量の各時系列、および、生産量の時系列から、肥沃度・各労働量・各肥料量が生産量に与える影響を明らかにする。
  • 国ごとの各政策種類への投資額の時系列、および、GDP から、各政策投資がGDPに与える影響を明らかにする
  • 地域ごとの各キャンペーン種類の投入量の各時系列、および、商品売上の時系列から、各地域の各キャンペーンが売上に与える影響を明らかにする。等。

R言語による時系列分析入門

R言語でのAR、ARMA/ARIMA、ARFIMA、ARCH、などの時系列モデルの入門資料(※1年前のTokyo.R 講師資料)

第4回R勉強会@東京 で話してきた -「R言語による時系列分析」 - hamadakoichi blog

  • AGENDA
    • 自己紹介
    • 時系列分析とは
    • データ操作
    • モデル
      • 確率密度
      • 期待値と分散
      • ARモデル
      • ARMA/ARIMAモデル
      • ARFIMAモデル
      • ARCHモデル
    • 最後に

R Library - Dynamic Conditional Correlation GARCH

複数時系列の時系列分析として、R言語では plm 、ccgarch 等のパッケージがあるが、今回は ccgarch (Conditional Correlation GARCH) を紹介する。

※GARCH: General AutoRegressive Conditional Heteroscedasticity


Dynamic Conditional Correlation GARCH (DCC- GARCH) Model 資料:

Vector Autoregressive (VAR) Model 資料:


Panel Linear Model(plm)を用いた実装は以下に記載している:

以下に、解説も含めた実装を記載する。


データ

Rの Panel Linear Model (plm) Package での組み込みデータ「Produc: 米国の48州の1970-1986のパネルデータ」を用いてみる。

library("plm")

# 米国の48州の1970-1986のパネルデータ
data("Produc", package = "plm")

# ALABAMA州の1970-1986データ
alabama <- Produc[Produc$state == "ALABAMA", ]

# 時系列オブジェクトの作成
library(zoo) # 
(d.index <- alabama$year)
data <- zoo(alabama[,3:10], d.index)

# 表示
par(cex.axis = 1.5, cex.lab = 2)
plot(data, main = "ALABAMA州データ(1970-1986)")

f:id:hamadakoichi:20110428033522j:image:w550

> head(data, 10)
         pcap     hwy   water    util       pc   gsp    emp unemp
1970 15032.67 7325.80 1655.68 6051.20 35793.80 28418 1010.5   4.7
1971 15501.94 7525.94 1721.02 6254.98 37299.91 29375 1021.9   5.2
1972 15972.41 7765.42 1764.75 6442.23 38670.30 31303 1072.3   4.7
1973 16406.26 7907.66 1742.41 6756.19 40084.01 33430 1135.5   3.9
1974 16762.67 8025.52 1734.85 7002.29 42057.31 33749 1169.8   5.5
1975 17316.26 8158.23 1752.27 7405.76 43971.71 33604 1155.4   7.7
1976 17732.86 8228.19 1799.74 7704.93 50221.57 35764 1207.0   6.8
1977 18111.93 8365.67 1845.11 7901.15 51084.99 37463 1269.2   7.4
1978 18479.74 8510.64 1960.51 8008.59 52604.05 39964 1336.5   6.3
1979 18881.49 8640.61 2081.91 8158.97 54525.86 40979 1362.0   7.1

RでのDynamic Conditional Correlation GARCH Modelを用いた実装

# 必要な R Package の Load 
library(ccgarch) # Conditional Correlation GARCH Model
library(vars) # Vector Auto Regressive Model 

(nobs <- dim(data)[1]) #サンプル数 T
(ndim <- dim(data)[2]) #サンプルの次元 N

# VARselect(y, lag.max = 10, type = c("const", "trend", "both", "none"),
#            season = NULL, exogen = NULL)
# 
# VAR(p)(ベクトル自己回帰モデル)の次数pを決定するvarパッケージの関数。
# 1次からlag.maxで指定した次数までのVARモデ ルを求め
# それぞれの次数に対応した情報量基準を算出する
select.lag <- VARselect(data, type = "const", lag.max = 10)
(nlag <- select.lag$selection[1]) #AIC によるラグ選択

# VAR(y, p = 1, type = c("const", "trend", "both", "none"),
#		season = NULL, exogen = NULL, lag.max = NULL,
#		ic = c("AIC", "HQ", "SC", "FPE"))
# 
# VAR(p)(ベクトル自己回帰モデル)の生成
var.model <- VAR(data, p = nlag) 
eps <- residuals(var.model) # VAR(p=nlag) の残差

# zoo オブジェクトの生成
d.index <- index(data)
eps <- zoo(eps, d.index[(nlag + 1):nobs])
head(eps)

# VARモデルの残差に対して
# Dynamic Conditional Correlation GARCH モデルの当てはめ

# 条件付分散式パラメータ設定
a <- c(0.003, 0.005, 0.001, 0.002, 0.001, 0.003, 0.004, 0.002)
A <- diag(c(0.2, 0.3, 0.15, 0.1, 0.2, 0.2, 0.1, 0.2))
B <- diag(c(0.75, 0.6, 0.8, 0.7, 0.4, 0.6, 0.7, 0.6))
# 条件付相関係数式 パラメータ設定
dcc.para <- c(0.1, 0.8)

# dcc.estimation(inia, iniA, iniB, ini.dcc, dvar, model,
#		method="BFGS", gradient=1, message=1)
#
# DCC GARCH での推定
# 1. 条件付分散式のパラメータについて尤度関数最大化
# 2. 条件付相関関係式のパラメータに関する尤度最大化
#
# 結果:
#    out    : パラメータ推定値とその標準誤差          
#    loglik : パラメータ推定値で評価した対数尤度関数の値 
#    h      : 推定された条件付分散   
#    DCC    : 推定された動的条件付相関係数                        
#    std.resid : 変数(eps)を条件付標準誤差(hの平方根)で除した標準化残差        
#    first  : 第1段階目(条件付分散式に関する対数尤度関数の最適化)の結果
#    second : 第1段階目(条件付相関係数に関する対数尤度関数の最適化)の結果

dcc.results <- dcc.estimation(inia = a, iniA = A, iniB = B, 
				ini.dcc = dcc.para, dvar = eps, model = "diagonal")

dcc.results$out #パラメータ推定値と標準誤差
dcc.results$loglik #パラメータ推定値で評価した対数尤度関数の値 
dcc.results$first #第1段階目(条件付分散式に関する対数尤度関数の最適化)の結果
dcc.results$second #第1段階目(条件付相関係数に関する対数尤度関数の最適化)の結果

dcc.results$h #推定された条件付分散 
dcc.results$DCC #推定された動的条件付相関係数
dcc.results$std.resid #変数(eps)を条件付標準誤差(hの平方根)で除した標準化残差 

# 動的相関係数の出力
# 動的相関係数dcc.results$DCCは、行ごとにt期の条件付相関係数行列を
# ベクトル化した値として保存されているため、
# 全体として(サンプル数)×(次元の2乗)の行列になっている。
head(dcc.results$DCC,3)

# プロットする際には対角成分や重複した列を除外する必要があるため、
# ndim 次 元 の DCC-GARCHモデルにおいては、diam(ndim) (単位行列)を設定し、
# lower.tri関数によって正方行列の対角成分を含まない下三角行列の位置を指定する。
Id <- diag(ndim) #単位行列
head(dcc.results$DCC[, lower.tri(Id)],3) #下三角行列

# zooオブジェクト生成
DCC <- zoo(dcc.results$DCC[, lower.tri(Id)], d.index[(nlag + 1):nobs])
#列名を付ける
cn <- colnames(data)
cnames <- {}
for (i in 1:(length(cn)-1)) {
	for (j in (i+1):length(cn)) {
		cnames <- c(cnames, paste(cn[i], cn[j], sep = "-"))				
	}
}
colnames(DCC) <- cnames

# データ確認 
head(DCC, 3)

# Dynamic Conditional Correlation Estimates表示(一部)
plot(DCC[,1:6], main = "動的条件付相関係数の推定結果")

動的条件付相関係数の推定結果(一部) 表示

f:id:hamadakoichi:20110428034150j:image:w550


参考文献

Rによる時系列分析入門

Rによる時系列分析入門


参考資料

R言語での時系列分析

R言語での Conditional Correlation GARCH Model (ccgarch)

R言語でのVector Autoregressive Model (vars)

2011-04-25

[] R言語による多変量時系列分析−Panel Linear Model  R言語による多変量時系列分析−Panel Linear Model - hamadakoichi blog を含むブックマーク  R言語による多変量時系列分析−Panel Linear Model - hamadakoichi blog のブックマークコメント

R言語による多変量時系列分析。

複数グループ・複数項目の時系列データで時系列間の関係性・影響を明らかにする。


以下、実行可能なR言語ソースコードも用い紹介する。


例:複数時系列間の関係性・影響
  • 農家ごとの農地の肥沃度・人の各仕事の労働量・各肥料の投入量の各時系列、および、生産量の時系列から、肥沃度・各労働量・各肥料量が生産量に与える影響を明らかにする。
  • 国ごとの各政策種類への投資額の時系列、および、GDP から、各政策投資がGDPに与える影響を明らかにする
  • 地域ごとの各キャンペーン種類の投入量の各時系列、および、商品売上の時系列から、各地域の各キャンペーンが売上に与える影響を明らかにする。等。

R Library

複数時系列の時系列分析として、R言語では plm 、 ccgarch 等のパッケージがあるが、今回は plm (Panel Linear Model) を紹介する。

※参考:Panel Data Econometrics in R: The plm Package (PDF)


Panel Data(交差時系列)

計量経済学の領域では、交差系列 (Cross section Data) で時系列 (Time series Data) である系列を

『交差時系列(Panel Data)』と呼ぶ。 

例)47都道府県の人口を時間を追って調べたもの。

  • 交差系列 (Cross section Data):同一時点での様々なData。例) ある時点で47都道府県の人口、人口密度、男女比などを調べたもの。
  • 時系列 (Time series Data):同一種類のDataを様々な時点で取ったもの。例) ある都道府県の人口を時間を追って調べたもの。

※参考:Wikipedia: 計量経済学 - Wikipediaパネルデータの意義とその活用(PDF)


関数

plm package には複数時系列の評価関数として次の4つが用意されている。


Functions:
  • plm: estimation of the basic panel models, i.e. within, between and random e ffect models. Models are estimated using the lm function to transformed data,
  • pvcm: estimation of models with variable coecients,
  • pgmm: estimation of generalized method of moments models,
  • pggls: estimation of general feasible generalized least squares models

これらはRの線形回帰関数 lm() と同じ引数の形をとり、1引数目に formula、2引数目にdata をとる。また、Option として、次の3つを指定できる。


Options:
  • index: this argument enables the estimation functions to identify the structure of the data, i.e. the individual and the time period for each observation,
  • effect: the kind of e ffects to include in the model, i.e. individual e ffects, time e ffects or both,
  • model: the kind of model to be estimated, most of the time a model with xed e ffects or a model with random e ffects.

Results:

上記各関数の結果は 関数名と同じクラスのオブジェクトに保存され、これらのクラスは panelmodel オブジェクトを継承している。これらのオブジェクトは以下を含んでいる。

  • coefficients
  • residuals
  • fitted.values
  • vcov
  • df.residual
  • call

データ

Rの組み込みデータ「Produc: 米国の48州の1970-1986のパネルデータ」を用いる

library("plm")
data("Produc", package = "plm")
head(Produc, 10)

Produc データ (10行目まで抜粋):

> head(Produc, 10)
     state year     pcap     hwy   water    util       pc   gsp    emp unemp
1  ALABAMA 1970 15032.67 7325.80 1655.68 6051.20 35793.80 28418 1010.5   4.7
2  ALABAMA 1971 15501.94 7525.94 1721.02 6254.98 37299.91 29375 1021.9   5.2
3  ALABAMA 1972 15972.41 7765.42 1764.75 6442.23 38670.30 31303 1072.3   4.7
4  ALABAMA 1973 16406.26 7907.66 1742.41 6756.19 40084.01 33430 1135.5   3.9
5  ALABAMA 1974 16762.67 8025.52 1734.85 7002.29 42057.31 33749 1169.8   5.5
6  ALABAMA 1975 17316.26 8158.23 1752.27 7405.76 43971.71 33604 1155.4   7.7
7  ALABAMA 1976 17732.86 8228.19 1799.74 7704.93 50221.57 35764 1207.0   6.8
8  ALABAMA 1977 18111.93 8365.67 1845.11 7901.15 51084.99 37463 1269.2   7.4
9  ALABAMA 1978 18479.74 8510.64 1960.51 8008.59 52604.05 39964 1336.5   6.3
10 ALABAMA 1979 18881.49 8640.61 2081.91 8158.97 54525.86 40979 1362.0   7.1

state(州)、year(年)、gsp (州内総生産)、pcap (民間資本ストック)、pc(公的資本)、emp (労働投入量)

※参考:Rパッケージガイドブック 蓮見亮さん記事。


Rでの実装例

library("plm")

# Producデータ
data("Produc", package = "plm")
data <- Produc

# index に用いる グループ列名、時間列名
grpCName <- "state"
timeCName <- "year"

# pdata.frame (panel data frame) 作成。グループ列, 時間列で index 作成  
idx <- c(grpCName, timeCName)
pdata <- pdata.frame(data, index = idx, drop.index = TRUE, row.names = TRUE)

# 目的変数列 指定
tidx <- 6

###################################
# Panel Linear Model 作成
###################################
# plm(formula, data, subset, na.action, effect = c("individual","time","twoways"),
#    model = c("within","random","ht","between","pooling","fd"),
#    random.method = c("swar","walhus","amemiya","nerlove"),
#    inst.method = c("bvk","baltagi"), index = NULL, ...)
#
#[model 指定]:
# within: Fixed Effect Model [Default] 
#   (固定効果モデル。個別効果を完全除去。
#    目的変数、説明変数、残差のそれぞれをグループごとの平均を回帰式から引き算)
# pooling: Pooling Model     (グループ、時間を気にせず回帰)
# fd: First-Difference Model (グループごとに回帰。変数の時間差分を用いる)
# between: Between Model    (グループごとに回帰。変数の時間平均を用いる)
# random: error components model
#   (変量効果モデル。残差をグループ間のものとグループ内のものに分割)。
#    ramdom.method 変動性の指定ができ swar [Default], walhus, amemiya, nerlove を指定可能。
#[effect 指定]:
# effect = "time" : 上記処理をグループ毎の処理に置き換える (グループと時間を入れ替え)

# Formula作成:目的変数以外を説明変数とする
cn <- colnames(pdata)
fmla <- as.formula(paste(cn[tidx], " ~ ", paste(cn[-tidx], collapse = " + ")))

# 固定効果モデル
res.fe <-  plm(formula = fmla, data = pdata, model = "within")
#(res.fe <-  plm(formula = fmla, data = data, index = idx, model = "within")) と同じ
summary(res.fe)

# 変動効果モデル
res.re <-  plm(formula = fmla, data = pdata, model = "random")
summary(res.re)

###################################
# 各種検定
###################################

# 各種豊富な検定関数が用意されている。

library(car)
# Tests for individual and time effect
plmtest(fmla, data = pdata, effect = "twoways", type = "ghm")
# Tests of poolability
pooltest(fmla, data = pdata, model = "within")
# F tests of e^Kffects based on the comparison of the within and the pooling models
pFtest(fmla, data = pdata, effect = "twoways")
# Hausman test based on the comparison of two sets of estimates
phtest(res.fe, res.re)
# Tests of serial correlatio
pwtest(fmla, data = pdata)
# Locally robust tests for serial correlation or random effects
pbsytest(fmla, data = pdata, test = "j")
#Conditional LM test for AR(1) or MA(1) errors under random effect
pbltest(fmla, data = data, alternative = "onesided") #pdata.frame ではなく元 data.frame を用いる

library(lmtest)
#General serial correlation test
pbgtest(res.fe, order = 2)
#Wooldridge's test for serial correlation in short FE panels
pwartest(fmla, data = pdata)
#Wooldridge's first-difference-based test
pwfdtest(fmla, data = pdata)

# 他にも Cross-sectional dependence の検定も用意されている。

実行結果

残差、回帰係数、R^2、等、各種回帰結果が得られている。

> # 固定効果モデル
> res.fe <-  plm(formula = fmla, data = pdata, model = "within")
> summary(res.fe)
Oneway (individual) effect Within Model

Call:
plm(formula = fmla, data = pdata, model = "within")

Balanced Panel: n=48, T=17, N=816

Residuals :
     Min.   1st Qu.    Median      Mean   3rd Qu.      Max. 
-1.54e+04 -7.66e+02 -7.04e+01  1.64e-09  7.71e+02  1.68e+04 

Coefficients :
         Estimate  Std. Error t-value  Pr(>|t|)    
pcap   1.1832e+04  1.5029e+04  0.7873   0.43136    
hwy   -1.1833e+04  1.5029e+04 -0.7873   0.43134    
water -1.1831e+04  1.5029e+04 -0.7872   0.43141    
util  -1.1832e+04  1.5029e+04 -0.7873   0.43134    
pc     1.2001e-01  2.1647e-02  5.5437 4.086e-08 ***
emp    3.4932e+01  8.8757e-01 39.3571 < 2.2e-16 ***
unemp -1.6813e+02  6.0568e+01 -2.7759   0.00564 ** 
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Total Sum of Squares:    1.3289e+11
Residual Sum of Squares: 4.978e+09
R-Squared      :  0.96254 
      Adj. R-Squared :  0.89766 
F-statistic: 2793.44 on 7 and 761 DF, p-value: < 2.22e-16

> # 変動効果モデル
> res.re <-  plm(formula = fmla, data = pdata, model = "random")
summary(res.re)
> Oneway (individual) effect Random Effect Model 
   (Swamy-Arora's transformation)

Call:
plm(formula = fmla, data = pdata, model = "random")

Balanced Panel: n=48, T=17, N=816

Effects:
                   var  std.dev share
idiosyncratic  6541433     2558 0.185
individual    28839985     5370 0.815
theta:  0.8853  

Residuals :
    Min.  1st Qu.   Median  3rd Qu.     Max. 
-11500.0   -847.0     61.7    849.0  19800.0 

Coefficients :
               Estimate  Std. Error t-value  Pr(>|t|)    
(Intercept) -1.7738e+03  1.1556e+03 -1.5350    0.1252    
pcap         1.4200e+04  1.5615e+04  0.9094    0.3634    
hwy         -1.4201e+04  1.5615e+04 -0.9094    0.3634    
water       -1.4199e+04  1.5615e+04 -0.9093    0.3634    
util        -1.4201e+04  1.5615e+04 -0.9094    0.3634    
pc           1.3118e-01  1.7636e-02  7.4380 2.613e-13 ***
emp          3.4150e+01  7.6819e-01 44.4552 < 2.2e-16 ***
unemp       -2.7338e+02  5.9394e+01 -4.6028 4.840e-06 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Total Sum of Squares:    1.8368e+11
Residual Sum of Squares: 5743500000
R-Squared      :  0.96873 
      Adj. R-Squared :  0.95923 
F-statistic: 3576.08 on 7 and 808 DF, p-value: < 2.22e-16

検定結果例

> # Tests for individual and time effect
> plmtest(fmla, data = pdata, effect = "twoways", type = "ghm")

	Lagrange Multiplier Test - two-ways effects (Gourieroux, Holly and
	Monfort)

data:  fmla 
chisq = 3156.201, df = 2, p-value < 2.2e-16
alternative hypothesis: significant effects 

参考資料:時系列分析入門資料

Tokyo.R で講師をした時系列分析の入門資料です。[R][データマイニング] R言語による時系列分析

参考文献

Rによる時系列分析入門

Rによる時系列分析入門

Rによるデータサイエンス データ解析の基礎から最新手法まで

Rによるデータサイエンス データ解析の基礎から最新手法まで

参考リンク

2011-01-30

[][]「R言語による Random Forest 徹底入門−集団学習による分類・予測−」− #TokyoR #11 で講師をしてきました 「R言語による Random Forest 徹底入門−集団学習による分類・予測−」− #TokyoR #11 で講師をしてきました - hamadakoichi blog を含むブックマーク 「R言語による Random Forest 徹底入門−集団学習による分類・予測−」− #TokyoR #11 で講師をしてきました - hamadakoichi blog のブックマークコメント

2011/01/29 第11回R勉強会@東京(Tokyo.R #11) で講師をしてきました。

「R言語による Random Forest 徹底入門 −集団学習による分類・予測−」。


Random Forest は"機械学習"の方法論で、集団学習により精度高い判別・予測を実現します。

双方向の進行で、質疑応答・議論含め 合計60分で話しました。

隠れ Random Forest 祭り

今回のTokyo.R、実は「隠れ Random Forest 祭り」。直前の3トーク、「3. caretパッケージの紹介」(id:dichika @)、「4. RにおけるHPC 並列計算編」(@)、「5.Rで始めるテキストマイニング)」(@)の中で、「Random Forest良い、詳細は @ さんから!」という嬉しい振りを受けてのトークとなりました。

Random Forest 徹底入門

内容構成に関しては、初めての人でも分かるようにと、"Random Forest" の前提知識となる "決定木"や"集団学習"に関しても内容構成に入れ、それぞれ"アルゴリズム"、"R言語での実行方法(実行可能なSource Code含む)"を記載しています。また各自がすぐに実行し試せるように、資料中で用いているデータも、R言語環境にデフォルトで用意されているデータを用いています。

統計解析・データマイニング機械学習・R言語人材の活躍の場

データマイニング+WEBの創設の思いにも書いていますが、「蓄積されたデータを活用し、継続的に活動進化できる世界を作りたい」と私は考えています。

その中で、統計解析・データマイニング機械学習は重要な要素です。それらのスキルセットを持った R言語の人材に関し、"R言語人材が そのスキルを十分に活かし活躍できる場が提供されているか?"を調べてみました(※資料前半に結果を記載しています)。

2011/01/28 にそれまでになかった、新たなよい変化がありました。今後、ソーシャル業界全体や、他業界の人材採用の追従を歓迎します。今後、各領域での統計解析・データマイニング機械学習・R言語の活用、人材の活躍の場を広げていきたい。そう考えています。一緒に、蓄積データの統計解析・データマイニング機械学習活用による 継続的な活動・サービス進化を実現していきたい。

関連資料

全体AGENDA/講師資料

今回の全体AGENDAと公開されている資料を以下に共有します。

ツイート(Togetter)

※"誰でも編集可能"に設定してあります

第11回 R勉強会@東京 #TokyoR #11 - Togetter

推薦文献

Rによるデータサイエンス データ解析の基礎から最新手法まで

Rによるデータサイエンス データ解析の基礎から最新手法まで

Rによる統計解析

Rによる統計解析

関連エントリ