일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- Linux build
- DOTA dataset
- CARLA simulator
- 사회초년생 추천독서
- 크롤링
- TensorFlow Object Detection 사용예시
- Towards Deep Learning Models Resistant to Adversarial Attacks
- AI Security
- TensorFlow Object Detection Model Build
- DACON
- 논문 분석
- Carla
- 객체 탐지
- 커스텀 애니메이션 적용
- Git
- 논문분석
- object detection
- 기능과 역할
- VOC 변환
- paper review
- TensorFlow Object Detection API install
- Paper Analysis
- Docker
- InstructPix2Pix
- Object Detection Dataset 생성
- 리눅스 빌드
- Custom Animation
- 개발흐름
- TensorFlow Object Detection Error
- Branch 활용 개발
Archives
- Today
- Total
JSP's Deep learning
[Data Analysis] 1. ols를 사용한 선형회귀 모수적 분석 루틴 본문
여러 함수 중 가장 편리했던 방법만 기록
1. 기본 분석 (ols 기법 사용전)
- 결측치 확인
- data.info() - pandas.DataFrame 함수 사용
- 특성 및 분포 확인
- pandas_profiling 패키지의 profile_report 함수 사용(전반적인 데이터 확인) ex. profile = data.profile_report()
- data.변수.unique() : 범주형 변수의 속성을 확인
- data.변수.value_counts() : 범주형 변수의 속성별 빈도수 확인
2. 기본 분석 토대로 ols 기법 사용전 전처리
- 불필요 변수 제거 ex. id
- 특징이 너무 많은 변수의 파생변수 생성(단, 원본변수는 제거하지 않고 그대로 둔다.)
- 범주형 변수의 속성 중 동일의미이나 오타로 잘 못 기입된 속성에 대해서 정리한다.
3. ols 기법 사용 분석
1. ols 모델 학습
val_list = eda_data.columns.drop(['target'])
formula = 'target ~ ' + '+'.join(val_list)
ols_linear_model = ols(formula=formula, data=eda_data).fit()
2. 이상치 정리
eda_data = eda_data[ols_linear_model.outlier_test()['bonf(p)'] >= 0.05]
3. 이상치 정리 후 ols 모델 재학습
val_list = eda_data.columns.drop(['target'])
formula = 'target ~ ' + '+'.join(val_list)
ols_linear_model = ols(formula=formula, data=eda_data).fit()
4. ols의 summary 함수를 통해서 통계적 분석
ols_linear_model.summary()
- 모델의 통계수치 해석
- R-square : 모델의 독립변수들이 종속변수를 얼마나 잘 나타내는지에 대한 지표로 예를 들어 0.9의 값을 가진다면 모델의 독립변수가 종속변수를 90% 정도 설명한다는 것을 의미한다. 즉, 높을수록 좋다. 최댓값은 1이다.
- Prob (F-statistic) : 이 모델의 선형회귀 모델의 적합성을 나타내는 p-value로 유의수준 0.05 미만이라면 적합하다고 판단된다.
- 독립변수의 통계수치 해석
- coef : 해당 독립변수가 가지는 가중치
- P>|t| : 해당 독립변수가 종속변수에 대해 유의미한 의미를 가지는지에 대한 p-value로 유의수준 0.05보다 작으면 유의미하다고 판단할 수 있다. (유의수준은 임의로 조절이 가능하다. 신뢰도에 대한 수치이다)
- 잔차의 통계수치 해석
- Skew : 왜도를 나타내는 것으로 0에 가까울수록 정규분포의 형태를 가진다. ols는 정규분포를 가정한 분석이므로 Skew 수치가 0에 가까울수록 높은 신뢰성을 띈다고 판단할 수 있다.
- Kurtosis : 분포의 뾰족한 정도를 나타내는 지표로, 3보다 크면 정규분포보다 뾰족, 3이면 정규분포, 작으면 정규분포보다 완만함을 의미한다.
- Durbin-Watson : 잔차가 독립인지 아닌지를 판단하는 지표로 2의 근방에 있으면 독립으로 판단된다. 2보다 크면 양의관계, 작으면 음의관계를 가진다고 해석된다.
5. ols 분석 모델을 통해서 유의미한 독립변수 추출
good_var_list = ols_linear_model.pvalues.index[ols_linear_model.pvalues < 0.05]
good_var_list
유의수준은 데이터에 맞게 조절할 수 있다.
Comments