1. 개념
- 목표 : 모델을 이용해 데이터를 잔차와 패턴으로 분리
- 시작 : 데이터 시각화 후 변수들 표현할 수 있는 모델 형태를 정의(선형, 비선형)
- 선형모델
- 모델링 : y = ax + b
- 시각화 : [함수] geom_abline( ) + [인자] intercept, slope
- 과정 : 모델 정의 > 잔차(실제값-예측값) 계산 > 잔차요약(MSE, MAE 등등) > 모델 선택
- 참고
- glm함수, loess함수 등을 사용하여 (비)선형 모델을 생성
- optim함수를 사용해 수치 최적화를 시도할 수 있다.
2. 예측값과 잔차를 구하는데 유용한 함수
- modelr::expand_grid( ) : 중복을 포함한 각 변수의 모든 경우의 수의 조합을 생성
- modelr::data_grid( ) : 각 변수에서 고유한 값들의 조합을 생성
- [인수] data_grid(df, …) : 데이터 df에서 …에 있는 변수의 유일한 값의 모든 조합에 대한 그리드 반환
- modelr::add_predictions( ) : 데이터프레임과 모델을 사용해 해당 관측치에 대한 예측값을 데이터프레임에 열로 추가
- [인수] add_predictions(data.frame, model)
- modelr::add_residuals( ) : 원래의 데이터셋과 모델을 이용해 잔차(실제값-예측값)을 데이터프레임에 열로 추가
- [인수] add_residuals(data.frame, model)
- modelr::gather_predictions( ) : 1개 이상의 모델에 대해 데이터 값에 따른 각 모델의 예측값을 행으로 추가
- [인수] gather_predictions(data.frame, …) : …에 여러 모델을 넣어 해당 모델에 대한 예측값 생성
- modelr::spread_predictions() : 1개 이상의 모델에 대해 데이터 값에 따른 각 모델의 예측값을 모델 수만큼 열을 추가
- modelr::seq_range( ) : 주어진 데이터의 범위안에서 균일하게 n등분한 값을 반환
- [인수] seq_range(x, n) : seq(min(x), max(x), length=n)와 동일
3. 수식과 함수
- R의 모델링 함수 대부분은 y~x와 같은 수식에서 함수로의 표준 전환을 사용
- model_matrix(data, formula)를 이용해 수식을 어떻게 전환하는지 보여줌
- 종속변수가 2개 이상이 모델
- formula = y~x1+x2 : 각 변수를 독립적이라 가정하고 적합하므로 Main effect만 관측
- formula = y~x1*x2 : 각 변수의 상호작용항을 포함해 적합하므로 Main effect와 상호작용 관측
- I( ) 함수 : 독립적으로 수식을 평가하기 위한 함수
- 예를 들어, y ~ x + I( x^2)은 x와 x^2을 독립적인 변수로 취급해서 각 효과를 추정한다.
- I함수를 사용하지 않은 formula = y ~ x + x^2는 formula = y ~ x와 같은 형태가 된다.
- poly(종속변수, n, raw=T) 함수 : n-square term까지 포함하는 수식을 제공
- splines::ns(종속변수, n) 함수 : 스플라인 수식 제공
'Data Science > Manipulation' 카테고리의 다른 글
[Data Science With R] 16. 리스트열(List-column)을 이용한 모델 (0) | 2023.09.02 |
---|---|
[R] all_of와 any_of를 사용한 변수 선택 (조건을 이용한 선택 추가) (1) | 2023.07.29 |
[Data Science With R] 14. 반복수행 with purrr (0) | 2023.04.18 |
[Data Science With R] 13. 함수형(Functional) with Base and purrr (0) | 2023.04.16 |
[Data Science With R] 12. 함수(Function) (0) | 2023.04.16 |