가중회귀
- 가중회귀(weighted regression)의 유용성
- 서로 다른 관측값을 다른 정밀도로 측정했을 때, 역분산 가중값을 얻을 수 있다.
- 가중값 변수가 집계된 데이터와 각 행이 나타내는 원본 관측값의 수를 인코딩하도록 집계된 형식의 데이터를 분석할 수 있다.
- 가중회귀의 예
- 주택가격 데이터에서 오래된 매매 정보일수록 최근 정보보다는 신뢰하기 힘들다.
- 날짜 정보에 가중값을 매겨서 최신 정보일 수록 높은 가중값을 매긴다.
> library(lubridate) > house <- read.csv('house_sales.csv', sep='\t') > house$Year = year(house$DocumentDate) > house$Weight = house$Year - 2005 > head(house[, c("AdjSalePrice", "SqFtTotLiving", "SqFtLot", "Bathrooms", "Bedrooms", "BldgGrade", "Year", "Weight")]) AdjSalePrice SqFtTotLiving SqFtLot Bathrooms Bedrooms BldgGrade Year Weight 1 300805 2400 9373 3.00 6 7 2014 9 2 1076162 3764 20156 3.75 4 10 2006 1 3 761805 2060 26036 1.75 4 8 2007 2 4 442065 3200 8618 3.75 5 7 2008 3 5 297065 1720 8620 1.75 4 7 2013 8 6 411781 930 1012 1.50 2 8 2009 4
- lm 함수에 weight 매개변수를 사용하여 가중회귀를 계산
> house_lm <- lm(AdjSalePrice ~ SqFtTotLiving + SqFtLot + Bathrooms + Bedrooms + BldgGrade, data=house, na.action=na.omit) > house_wt <- lm(AdjSalePrice ~ SqFtTotLiving + SqFtLot + Bathrooms + Bedrooms + BldgGrade, data=house, weight=Weight, na.action=na.omit) > round(cbind(house_lm=house_lm$coefficients, house_wt=house_wt$coefficients), digits=3) house_lm house_wt (Intercept) -528724.348 -580378.015 SqFtTotLiving 212.708 229.945 SqFtLot -0.014 -0.181 Bathrooms -18233.212 -23335.486 Bedrooms -46574.193 -54234.376 BldgGrade 108780.111 116037.063
'Predictive Analytics' 카테고리의 다른 글
회귀에서의 요인변수 (0) | 2019.09.27 |
---|---|
회귀를 이용한 예측 (0) | 2019.09.26 |
모델 선택 및 단계적 회귀 (0) | 2019.09.24 |
모델 평가 (0) | 2019.09.24 |
최소제곱법 (0) | 2019.09.24 |