팀명 : 토마토마(김준회, 연제호, 정다영, 추영은)
발표일 : 2020년 3월 19일
토마토 가격 예측
[러닝스푼즈 1기 2차 프로젝트]
INDEX
01. 서론
02. 데이터 준비
03. 데이터 가공
04. 다양한 머신러닝 시도
05. 결론
강원도시자의 감자 판매 화제(일명 포케팅)
1) 분석 배경
01. 서론
1) 분석 배경
01. 서론
대부분 시설 재배 국내 생산에 의지 저장성 약함
가격 변동이 큼
is…
토마토(신선・냉장)
수입 관세 : 45%
1) 분석 배경
01. 서론
미세먼지가 증가하면서 하우스 재배 농가들의 피해 발생
2) 분석 목적
“ 대기오염에 따른 토마토 가격 예측 ”
01. 서론
1) 활용 데이터
데이터사용 활용 변수 시점 출처
파일
형식
토마토 일별 품목별 도.소매가격정보
품목명
, 품종명, 시군구, 마켓명, 연도, 날짜,
가격
일 농산물유통정보
csv
대기오염 최종확정자료
지역, 측정소코드, 측정소명, 측정일시,
SO2, CO, O3, NO2, PM10
시간
AirKorea xlsx
종관기상관측(ASOS) 지점명, 일시, 합계 일조시간 일 기상청 기상자료개방포털
csv
02. 데이터 준비
종관기상관측(ASOS) 변수 설명
• 합계 일조시간 : 태양 광선이 구름이나 안
개로 가려지지 않고 땅 위를 비친 시간
대기오염 최종확정자료
• SO2 : 아황산가스
• CO : 일산화탄소
• O3 : 오존
• NO2 : 이산화질소
• PM10 : 미세먼지
1) 대기 오염 데이터
2013년 데이터 중 이상데이터 -999 값이 존재
→ 측정되지 않은 것으로 추측, 0으로 변경
03. 데이터 가공
1) 대기 오염 데이터
2013년 ~ 2014년에는 PM2.5(초미세먼지)를 측정하지 않음
→ 2015년~2018년 데이터의 월과 일 기준 평균값으로 처리
03. 데이터 가공
1) 대기 오염 데이터
2016년부터 세종특별자치시의 대기오염 데이터 측정
→ 일조량 데이터에는 세종특별자치시 구분이 되어 있지 않아 충청남도로 수
정
03. 데이터 가공
2) 일조량 데이터
합계 일조시간(hr)에서 309개 관측값 없음
→ 해당 일에 합계 일조시간이 없는 것으로 추측, 0으로 처리
03. 데이터 가공
3) 데이터 merge
대기 오염 측정소는 452개, 일조량 측정소는 96개로 merge 시 NaN 발생
→ ‘일시’와 ‘도’ 기준으로 groupby 처리
03. 데이터 가공
3) 데이터 merge
마켓이 열리지 않는 날의 토마토 도매 가격 NaN 발생
→ 마켓이 열리는 일시의 ‘가격’과 ‘도’를 고려하여 넣음
03. 데이터 가공
3) 데이터 merge
도매 마켓 지역은 5개이나 기상 데이터의 ‘도’는 16개로 merge 시 NaN 발생
→ 도매 마켓 권역 별로 전국 ‘도’를 5개로 묶음
03. 데이터 가공
4) 데이터 분할
03. 데이터 가공
• 2013년 ~ 2017년 데이터 : Training data
• 2018년 데이터 : Test data
5) 2013년 ~ 2017년 기초 통계
03. 데이터 가공
[Appendix] 바로 가기
03. 데이터 가공
월 평균 토마토 도매 가격
5) 2013년 ~ 2017년 기초 통계
봄(2월) 가격 상승, 여름(6월) 가격 하락
→ 가격 패턴이 뚜렷한 계절성을 보이고 있음
03. 데이터 가공
5) 2013년 ~ 2017년 기초 통계
월 평균 일조량
봄 일조량 상승, 여름, 겨울 일조량 하락
→ 일조량 패턴이 뚜렷한 계절성을 보이고 있음
03. 데이터 가공
5) 2013년 ~ 2017년 기초 통계
월 평균 대기오염
봄, 겨울 PM10과 PM25 상승, 여름 PM10과 PM25 하락
→ PM10과 PM25 패턴이 뚜렷한 계절성을 보이고 있음
03. 데이터 가공
5) 2013년 ~ 2017년 기초 통계
상관관계 분석
일조량과 대기오염의 상관관계를 확인
→ 변수들 간 약한 상관관계를 보임
1) 변수 선택: PCA(주성분 분석)
04. 다양한 머신러닝 시도
PCA 4개 누적 설명력 약 86%
2) 머신러닝 적용
모델 점수가 0보다 큰 26,194로 정확도가 매우 낮음
XG boost
04. 다양한 머신러닝 시도
2) 머신러닝 적용
Random Forest
모델 점수가 0보다 큰 1,440로 정확도가 매우 낮음
04. 다양한 머신러닝 시도
2) 머신러닝 적용
선형회귀
가격 예측 정확도가 낮음
04. 다양한 머신러닝 시도
2) 머신러닝 적용
계절성을 이용하여 ARIMA 분석 시 가격 예측력이 낮음
ARIMA
04. 다양한 머신러닝 시도
SO2 → 가격 CO → 가격 O3 → 가격 NO2 → 가격 PM10 → 가격 PM25 → 가격 합계일조시간(hr) → 가격 가격 → 가격
VAR 모형 Impulse Responses 및 예측
2) 머신러닝 적용
VAR 모형을 돌렸을 때 독립변수들과 종속변수인 가격의 상관관계가 매우 낮아 가격 예측이 어려움
04. 다양한 머신러닝 시도
2) 머신러닝 적용
종속 변수 ‘가격’과 독립 변수 사이에 관계가 나타나지 않음
회귀
04. 다양한 머신러닝 시도
1) 결과 문제 파악
05. 결론
• 데이터 전처리
• 2013년 ~ 2014년 PM25 NaN : 패턴을 고려해서 넣지 않음
• 마켓이 열리지 않는 일자 : 가격을 예측하기 위함이기 때문에 가격을 채워 넣어
선 안됨
• 피처 엔지니어링
• PCA 외 고민이 없음
• 머신러닝 학습 데이터
• 일조량에 영향을 받은 토마토 재배 기간을 고려하지 않음
2) 개선 방향
05. 결론
• 데이터 전처리
• 2013년 ~ 2014년 PM25 NaN : 패턴을 고려하여 NaN 채움
• 마켓이 열리지 않는 일자 : 휴일 주기가 같다면 이상치 처리
• 피처 엔지니어링
• 피처 맵핑 시도
• 해가 땅에 닿는데 방해하는 수치 컬럼 추가
• 컬럼마다 모두 그래프를 그려 추세, 이상치 파악
• 머신러닝 학습 데이터
• 재배 기간을 고려하여 학습 데이터 전처리
3) 느낀 점
05. 결론
“ feature engineering을 깊게 고민하지 못해 아쉬움 “
NaN값을 채우기 위해 많은 시간이 소비 되었고 그만큼 feature
engineering에 할애할 시간이 적었던 점이 아쉬웠습니다. 다음 프로젝트는
이번 프로젝트의 경험을 살려 더 좋은 모델을 구현하고 싶습니다
“ 도메인 지식과 통찰력이 많이 필요하다는 점을 깨닫는 경험 “
데이터에서 중요한 값만을 도출하는 판단력이 많이 필요하다는 것을 깨달았
습니다.
준회
제호
3) 느낀 점
05. 결론
“ 다양한 시도와 공부를 하지 못한 아쉬움 “
시계열, 회귀 분석 모델을 사용했는데 좋은 결과를 얻지 못했습니다. 추후
대기 오염 및 일조량을 좋음, 보통, 나쁨, 매우 나쁨 등으로 나눠 분류 분석
모델도 적용해보고 결과값을 비교해 보고 싶습니다.
“ 도메인 지식의 중요성을 깨닫게 된 경험 “
이번 프로젝트를 하면서 도메인 지식의 중요성을 확실히 깨달았습니다.
또, 분석방법을 정확히 적용하려면 더 많은 노력이 필요하다는 것을 느꼈습
니다.
영은
다영
THANK YOU
통합대기환경지수 기준
Appendix 01.
SO2
CO
O3
NO2
PM10
PM25
[돌아가기]