가중회귀

  • 가중회귀(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

+ Recent posts