정규화 선형회귀 방법은 선형회귀 계수(Weight)에 대한 제약 조건을 추가해서 모형이 과도하게 최적화되는 현상, 즉 과적합(Overfitting)을 막는 방법이다.
모형이 과도하게 최적화되면 모형 계수의 크기도 과도하게 증가하는 경향이 있다.
그래서 정규화 방법에서 추가하는 제약의 조건은 계수의 크기를 제한하는 방법이 사용된다.
정규화모형은 회귀분석에 사용된 데이터가 달라져도 계수가 크게 달라지지 않도록 한다.
계수의 크기를 제한하는 방법으로 다음과 같은 세가지 방법이 사용된다.
1) Lasso 회귀모형
가중치의 절댓값의 합을 최소하는 것을 추가적인 제약조건으로 검

2) Ridge 회귀모형
가중치들의 제곱합을 최소화

3) Elastic Net 회귀 모형
가중치의 절댓값의 합과 제곱합을 동시에 제약조건으로 가지는 모형
이 모형은 두개의 하이퍼 매개변수를 가진다.

하이퍼 파라미터는 다음과 같이 모수(alpha)와 L1_wt에 의해 정의된다.
alpha는 하이퍼파라미터로 alpha가 크면 정규화 정도가 커지고 가중치들의 값이 작아진다.
예제에 사용할 데이터셋을 생성


앞에서 만들어진 데이터 X,y를 이용해서 데이터프레임을 만들고 선형회귀식을 만든다.

산점도 그래프를 표시하고 선형회귀식을 시각화한다.

1) 정규화를 하지 않는 회귀모형
2) Lasso 회귀모형
3) Ridge 회귀모형
회귀분석은 표준 회귀분석, 위계적 회귀분석, 단계적 회귀분석, 로지스틱 회귀분석 등과 같이 종류가 매우 다양하다.
그중 다중회귀분석은 단순회귀분석의 확장판으로 선형회귀모형을 기초로 독립변수가 2개 이상일 때 사용된다.
독립변수는 영향을 미치는 변수, 즉 원인 변수이며 종속변수는 영향을 받는 변수, 결과변수이다.
그러므로 서로 논리적으로 타당성이 있는 변수를 독립변수와 종속변수로 설정해야 한다.
다중 회귀분석에서 가장 기본적인 업무는 상수와 베타회귀계수를 구하는 것이다.

^(hat, 추정자) = 잔차
종속변수와 독립변수와의 관계를 밝히는 통계모형에서 모형에 의하여 추정된 종속변수의 값과 실제 관찰된 종속변수 값과의 차이를 의미한다.
이 차이는 오차(error)로도 해석되며 통계모형이 설명하지 못하는 불확실성 정보이다.
그러나 회귀분석의 결과만으로는 인과관계를 규명할 수없다. 논리적 근거가 있어야 함
1) 데이터 준비

2) 회귀 모형

3) 학습 데이터셋을 이용한 평가
학습 데이터셋을 이용해서 모형을 평가한다.
다음 코드는 모형의 score()함수를 이요해서 학습 데이터셋을 이용해 학습시킨 모형을 평가한다.
출력된 결과는 결정계수(R2)이다.

메트릭 함수를 이용해 모형을 평가한다. 평가에 사용할 메트릭 함수는 MSE를 출력하는 mean_squared_error() 함수이다. 이 결과에 루트를 씌워 RSER를 출력할 수 있다.

4) 예측하기
다음코드는 모형을 이용해 평가용 데이터셋을 입력해서 y를 예측한다.

5) 평가 데이터셋을 이용한 평가

학습용 데이터셋의 결정계수와 RMSE는 평가용 데이터셋의 결정계수 및 평균과 큰 차이를 보이지 않는다.
데이터 불러오기

medv ~ join 코드는 모든 변수를 이용해 모형을 생성하고 요약정보를 출력한다.

모든 변수를 사용했을 경우보다 일부변수를 사용해서 회귀모형을 만들었을 경우의 결정계수가 더 높은 것을 알수 있다.
상관분석에서 상관관계의 정도를 나타내는 계수가 바로 상관계수였다.
단순회귀에서는 상관계수를 제곱한 값이 결정계수(R2)이다.

AIC 와 BIC를 이용해서 모형이 적합도가 더 높은것을 찾을 수 있다.
AIC는 값이 작을수록 모형의 적합도가 높다.
BIC는 회귀계수의 수에 더해 표본의 크기 n에 대해서도 패널티를 부가한 것이다.

정상성 : 오차가 정규분포를 따라야 한다는 것, 잔차의 정규성이라고도 함
잔차의 정규성을 확인하는 지표로 Omnibus와 Jarque-Bera가 있다.
이 두 검정의 p값이 유의수준(0.05)보다 크면 잔차항이 정규분포를 따르므로 귀무가설을 채택한다. 쉽게 말하면 이 두 값이 0.05보다 크면 문제될 것이 없다.