Skip to content

cpprhtn/Corona-19_analysis-prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Corona-19_analysis-prediction

함께 만든사람

시작한 계기

고2 겨울방학부터 R 공부를 시작
고3 5월 초부터 Deep Learning 공부를 시작

코로나19 가 사회적으로 큰 파장을 불러일으켰고,

데이터전처리, 데이터마이닝 연습을 위해 간단하게 시각화를 해보았었다.(4월 중순)

이후 친구한명(SionHwang) 과 이야기하던 중, 코로나 예측모델을 만들어보면 어떨까 해서, 5월중순에 다시 진행하게 되었다.

연구의 배경 및 목적

코로나19 (COVID-19) 는 2019.12월 중국 우한시에서 최초 감염 보고 이후 급격히 확산되어 여러 국가들에서도 감염 사례가 잇따라 보고되고 있다.

대한민국은 2020.1월 최초 감염자가 발생한 이후 감염 추세가 크게 늘어나지 않던 와중 2020.2월 중순 부터 지역 사회 감염 및 무증상 전파와 슈퍼 전파 사례 이후 감염 경로가 불확실한 감염자가 증가하면서 확진자 추세가 기하급수적으로 증가하였다.

우리는 확진자 추세가 늘어나는 것에 규칙이 있을것이라 생각했고, 데이터를 사례에 따라 분류 하였다. 우리는 "이 데이터들을 가지고 사례에 따른 패턴을 유추할 수 있지 않을까?" 라는 궁금증을 갖게 됐다.

우리는 이 문제에 대해 생각하며 여러 상황에서 활용할 수 있는 범용성을 가진 예측 모델을 구축하려 하였으나, 여러 방법을 사용하여 모델을 만들어야하는 등 범용성이 있는 모델을 만들기에는 많은 어려움이 있었다. 게다가 코로나19 예측모델에 대한 연구 및 자료가 부족하여 직접 구축 하기로 하였다. 따라서 데이터 분석을 통하여 여러 예측 모델을 만든 후 그에 따른 근사적 증가 추세를 파악해보려 한다.

R 데이터 분석

  • 1차 시각화 image
  • 3차 시각화 image

1일 평균 증가량

  • 신천지 이전

  • #1.383183 image

  • 신천지 사태기간 (2/18 ~ 3/8)

  • #462.3271 image

  • 구로 콜센터 (3/9~3/25)

  • #98.77206 image

  • 사이 기간 (3/26~5/9)

  • #25.53044 image

  • 이태원 (5/10~5/15)

  • #26.14286 image

  • 사이 기간2 5/16~5/26

  • #21.4303 image

  • 쿠팡 집단감염 (5/27 ~)

  • #38.5 image

데이터 트랜드

  • 2019 검색 트랜드 image
  • 2020 검색 트랜드 image
  • 누적 확진자 성별 image
  • 연령& 성별 image
  • 성별에 따른 유동인구(수도권) image
  • 성별에 따른 사망률 image
  • 시간에 따른 유동인구 image
  • 연령에 따른 유동인구 image

예측

============================================================================

07월 09일날 기준

LSTM0709

SVM0709

Polymonial Regression Predictions0709

Bayesian Ridge Polynomial Predictions0709

============================================================================

09월 18일날 기준

TF_BasicLSTM0918_64

TF_LSTM0918_64

TF_BasicRNN0918_64

사용한 모델 별 장단점

우리는 LSTM, SVM, Polynomial Regression, Bayesian ridge polynomial regression을 사용하였다.
아래에서 사용한 모델들의 장단점에 대해 간략히 소개하겠다.

LSTM(Long Short-Term Memory)

LSTM에 대해 간략히 설명하자면 RNN 모델에서 Vanishing Gradient Problem(기울기값이 사라지는 문제)를 해결하려 등장한 모델 중 하나이다.

장점 :

1. 각각의 메모리와 결과값이 컨트롤이 가능하다

단점 :

1. 연산속도가 느리다.
2. 연산 시 많은 메모리를 요구한다.
3. Overfitting 되기 쉽다.

SVM(Support Vector Machine)

초평면 : N차원을 N-1차원으로 구현할 수 있게 만들어준다.

장점 :

1. 일반화 오차가 낮다.
2. 과적합(Overfitting)을 방지해준다.

단점 :

1. 확률 추정치 제공해주지 않는다.
2. 5분할 교차검증 -> 자원소비가 크다.
3. 데이터가 많아질수록 연산량이 급증한다.

Polynomial Regression (다중 회귀분석)

독립 변수가 다항식으로 구성되는 회귀 모델이다.

장점 :

1. 추가적인 독립변수를 도입함으로써 오차항의 값을 줄일 수 있다.
2. 단순회귀분석의 단점을 극복 할 수 있다.

단점 :

1. 사전에 결측치 처리를 해야한다.
2. 변수 간 영향을 주는지 아닌지 유무를 파악해야한다.
3. 선형, 비선형 여부를 파악해야한다.

Bayesian Ridge Polynomial Regression (베이지안 다중 회귀분석)

베이지안 추론의 맥락 내에서 통계 분석이 수행되는 선형 회귀에 대한 접근 방식이다.
회귀 모형에 정규 분포가있는 오차가 있고 특정 형태의 사전 분포가 가정 된 경우 모형 모수의 사후 확률 분포에 대해 명시적인 결과를 사용할 수 있다.

장점 :

1. 현재 데이터에 맞게 조정된다.
2. 정규화 모수를 추정 절차에 포함하는 데 사용할 수 있다.

단점 :

1. 모델의 추론 시간이 많이 걸릴 수 있다.

사용된 언어

R

데이터 전처리
시각화
분석

Python

데이터 전처리
LSTM
SVM
Polynomial Regression
Bayesian ridge polynomial regression

일지

Date Using Description Official source(참고 주소)
04_16 Start Project
04_17 R Finding Git_R_Corona data
04_18 R Preprocessing data
04_19 R 시각화1
04_20 R 시각화2
05_05 R Corona distribute
--- --- --- ---
05_17 Restart Project
05_19 R, Python Collecting data
R, Python Preprocessing
--- --- --- ---
06_01 R Create Corona Dataframe about 1/21~5/31
06_02 R Fit data about section
--- --- --- ---
06_06 R 시각화
Python Learning LSTM
06_07 R Make data -> Occurrence_trend.csv
06_12 R Visual data https://www.kaggle.com/kimjihoo/coronavirusdataset/data?select=Weather.csv
06_13 R Analysis
06_14 Python Make ML Model
Using Data https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv
Python Create LSTM Model
Python Create SVM Model
06_15 Python Learning Polynomial Regression Model
06_16 Python Make ML Model
Python Create Polynomial Regression Model
06_17 Python Update ML Models
06_18 Python Update ML Models
06_19 Python Learning Bayesian Ridge Model
Python Create Bayesian Ridge Model
06_20 ~ Finding Best Parameter about each models
06_23 ~ Code cleanup
07_09 Update Readme
07_10 ''
07_15 test
08_02 Preparing a new model
error correction
09_04 Python Covid.csv update
09_12 Python test.py
09_13 Python Update test.py
09_19 Python Make new model, Using TF https://www.tensorflow.org/api_docs/python/tf/compat/v1/nn/rnn_cell
09_20 Python Error ValueError: Did you mean to set reuse=True or reuse=tf.AUTO_REUSE in VarScope?
https://stackoverflow.com/questions/47296969/valueerror-variable-rnn-basic-rnn-cell-kernel-already-exists-disallowed-did-y

About

코로나 19 예측, 분석

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published