데이터 (패키지 'ecm'포함)에 대한 시계열 오류 수정 모델을 추정합니다. 아래 코드에서 xeq 및 xtr을 사용하여 장단 변수를 지정한다는 것을 알 수 있습니다.루프 회귀 추정 (ECM 모델)
이 변수는 독립 변수이며 종속 변수에 대한 추정치입니다 : 판매.
이 경우 풀링 된 모델이지만이 모델 단위를 단위로 추정하고 싶습니다 (모든 브랜드에 대해 별도로). 내 데이터 세트는 다소 크기가 크고 360 개의 제품 카테고리로 구성되어 있으며 각 카테고리는 3 개의 브랜드 (브랜드 2, 브랜드 3 및 브랜드 4)를 보유합니다.
xeq <- DatasetThesisSynergyClean[c('lnPrice', 'lnAdvertising', 'lnDisplay', 'IntrayearCycles', 'lnCompetitorPrices', 'lnCompADV', 'lnCompDISP' , 'ADVxDISP', 'ADVxCYC', 'DISPxCYC', 'ADVxDISPxCYC')]
xtr <- DatasetThesisSynergyClean[c('lnPrice', 'lnAdvertising', 'lnDisplay', 'IntrayearCycles', 'lnCompetitorPrices', 'lnCompADV', 'lnCompDISP', 'ADVxDISP', 'ADVxCYC', 'DISPxCYC', 'ADVxDISPxCYC')]
model11 <- ecm(DatasetThesisSynergyClean$lnSales, xeq, xtr, includeIntercept=TRUE)
summary(model11)
내가 원하는 것은 모든 카테고리의 모든 브랜드에 대한 출력을 생성하는 것입니다. 내 데이터를 한 눈에 보게하려면 다음 코드를 실행하십시오.
structure(list(Week = 7:17, Category = c("2", "2", "2", "2",
"2", "2", "2", "2", "2", "2", "2"), Brand = c("3", "3", "3",
"3", "3", "3", "3", "3", "3", "3", "3"), Display = c(0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0), Sales = c(0, 0, 0, 0, 13.440948, 40.097397,
32.01384, 382.169189, 2830.748779, 4524.460938, 1053.590576),
Price = c(0, 0, 0, 0, 5.949999, 5.95, 5.950003, 4.87759,
3.787015, 3.205987, 4.898724), Distribution = c(0, 0, 0,
0, 1.394019, 1.386989, 1.621416, 8.209759, 8.552915, 9.692097,
9.445554), Advertising = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0), lnSales = c(11.4945151554497, 11.633214247508, 11.5862944141137,
11.5412559646132, 11.4811122484454, 11.4775106999991, 11.6333660772506,
11.4859819773102, 11.5232680456161, 11.5572670584292, 11.5303686934256
), IntrayearCycles = c(4.15446534315765, 3.62757053512638,
2.92387946552647, 2.14946414386239, 1.40455011205262, 0.768856938870769,
0.291497141953598, -0.0131078404184544, -0.162984144025091,
-0.200882782749248, -0.182877633924882), `Competitor Advertising` = c(10584.87063,
224846.3243, 90657.72553, 0, 0, 0, 2396.54212, 0, 0, 0, 40343.49444
), `Competitor Display` = c(0.385629, 2.108133, 2.515806,
4.918288, 3.81749, 3.035847, 2.463194, 3.242594, 1.850399,
1.751096, 1.337943), `Competitor Prices` = c(5.30989, 5.372752,
5.3717245, 5.3295525, 5.298393, 5.319466, 5.1958415, 5.2941095,
5.296757, 5.294059, 5.273578), ZeroSales = c(1, 1, 1, 1,
0, 0, 0, 0, 0, 0, 0)), .Names = c("Week", "Category", "Brand",
"Display", "Sales", "Price", "Distribution", "Advertising", "lnSales",
"IntrayearCycles", "Competitor Advertising", "Competitor Display",
"Competitor Prices", "ZeroSales"), row.names = 1255:1265, class = "data.frame")
자세히 알 수 있듯이 모든 카테고리와 브랜드는 행에 저장되어 있습니다. 모든 단일 브랜드에 대한 평가를 얻으려면 for 루프를 작성하고 싶지만이 출력을 별도로 저장하려면 올바른 카테고리와 브랜드를 지정하는 방법을 알지 못합니다.
결국 계수를 저장하려고합니다. 오류, t- 값 및 p- 값을 4 개의 개별 데이터 프레임에있는 모든 브랜드에 적용합니다. 하지만 먼저 출력을 얻어야합니다. 당신들이 저를 도울 수 있습니까?
있다 'dplyr',''purr' 패키지를 사용하여 각 브랜드의 모델을 만드는 대안적인 방법. 선형 회귀 모델과 관련된 많은 게시물이 온라인에 있습니다. 그러나 당신은 당신의 경우에 그것을 조정할 수 있어야합니다. https://www.r-bloggers.com/running-a-model-on-separate-groups/ 및 https://stackoverflow.com/questions/38621556/advice-on-usage-of- 여기에서 몇 가지 정보를 참조하십시오. dplyr-do-vs-purrr-map-tidynest-for-predictions – AntoniosK