예측 분석과 예측 분석에 사용되는 데이터

이도현·2023년 11월 12일
0

데이터 과학

목록 보기
2/2

0. 개요

지난번 프로젝트에서 AI팀이 시계열 예측을 위한 통계적 모델을 사용하였다. 여기서 예측이란 무엇인가? 예측을 위해 데이터를 어떻게 분류하고 이것을 모델로 만드는지 궁금해졌다. 이번 포스팅에선 예측 분석에 대해 작성해보고자한다. 예측 분석이 무엇이고 예측 분석에는 어떤 데이터들이 사용되며 이 데이터들에 어떤 방식으로 접근해야하며 그 기법들에 대해서 알아보자

1. 예측 분석이란?

  • 예측 분석: 현재 및 과거 데이터를 분석하여 미래 이벤트를 예측하는 분석 방법
  • 예측 분석은 머신 러닝, 통계 모델링, 데이터 마이닝과 같은 분석기술을 사용하여 조직이 트렌트, 행동, 향후 성과, 비지니스 기회 등을 파악할 수 있도록 지원

2. 예측 분석에 사용되는 데이터

1) 시계열 데이터

  • 시간의 흐름에 따라 순차적으로 기록된 데이터

    	예시: 주식 시장 데이터, 기상 관측 데이터, 웹사이트 트래픽 기록

2) 크로스섹션 데이터

  • 특정 시점에서 여러 대상에 대해 수집된 데이터

    	예시: 인구 조사 데이터, 각종 설문 조사 결과 등

3) 패널 데이터

  • 시간적 요소와 대상에 대한 다차원적 특성을 모두 포함하는 데이터

    	 예시: 동일한 대상에 대한 연간 수입 조사, 여러 시점에서의 건강 데이터 등

4) 구조화된 데이터

  • 명확하게 정의된 형식과 필드를 가진 데이터로, 주로 데이터베이스에 저장

    	 예시: 고객 정보 데이터베이스, 거래 기록 등

5) 비구조화된 데이터

  • 표준 형식이나 구조가 없는 데이터

    	 예시: 텍스트 문서, 이미지, 비디오, 소셜 미디어 포스트 등

6) 이미지 데이터

  • 디지털 이미지 형식으로 존재하는 데이터

    	 예시: 위성 이미지, 의료 이미지, 사진 컬렉션 등

7) 텍스트 데이터

  • 문서, 단어, 문장 등으로 구성된 데이터

    	 예시: 책, 기사, 소셜 미디어 게시물, 이메일 등

8) 음성 데이터

  • 소리 또는 음성 정보를 포함하는 데이터
    	예시: 음성 명령, 음악 파일, 음성 기록 등

9) 거래 데이터(Transactional Data)

  • 거래나 이벤트에 관한 정보를 포함하는 데이터

    	 예시: 판매 데이터, 온라인 구매 기록, 금융 거래 등

3. 예측을 위한 데이터 분류

1) 분류 예측

  • 데이터를 미리 정의된 범주나 클래스로 분류하는 방법

    	예시: 이메일 스팸 감지, 질병 진단, 고객 세분화 등

2) 회귀 예측

  • 연속적인 값을 예측하는 방법, 선형 회귀나 비선형 회귀 등이 있음

    	예시: 주택 가격 예측, 온도 변화 예측, 매출 예측 등

3) 클러스터링 기반 예측

  • 유사한 특성을 가진 데이터 포인트들을 그룹화하여 예측하는 방법과 유사

    	예시: 고객 세분화, 유전자 클러스터링, 시장 세분화 등

4) 추천 시스템

  • 사용자의 과거 행동이나 선호도에 기반하여 추첞을 제공하는 방법

    	 예시: 온라인 쇼핑몰의 제품 추천, 영화 추천 서비스 등

5) 강화 학습

  • 상호작용을 통해 최적의 행동전략을 학습하는 방법

    	예시: 자율 주행 자동차의 경로 최적화, 게임 AI 개발 등

6) 자연어 처리(NLP)

  • 텍스트 데이터를 분석하여 감성 분석, 문장 생성, 기계 번영 등을 수행

    	예시: 챗봇, 감성 분석, 기계 번역 시스템

7) 이미지 및 비디오 분석

  • 이미지나 비디오 데이터에서 객체를 인식하거나 분류하는 방법
    	예시: 얼굴 인식, 객체 감지, 의료 영상 분석 등

4. 예측 분석 기법

1) 예측 분석 상세 설명

  • 입력 변수 세트를 기반으로 새로운 데이터 갑을 예측하도록 모델을 학습시키는 방식으로 작동
  • 모델은 변수들 간의 관계와 패턴을 파악하고 학습한 대로 찾아낸 데이터에 기초한 점수를 제공
  • 정형 및 비정형 데이터 모두에 적용 가능
  • 데이터 분석 준비가 완료되면 예측 모델링은 예측 분석 모델을 구축하고 테스트

2) 회귀 분석 모델

  • 수학 방정식을 사용하여 변수 간의 관계를 설정
  • 선형 회귀 분석 모델은 무한한 가능성의 연속적인 결과를 반환

3) 의사 결정 트리

  • 하나의 의사 결정이 다른 결정으로 이어지는 방법을 파악하기 위해 널리 사용되는 예측 분석기법
  • 머신 러닝 모델에 적용할 수 있으며, 이러한 모델은 순차적이고 계층적인 질문들을 기반으로 한 일련의 "인과적 이벤트 발생" 조건을 결정하여 입력 데이터에 따른 결과로 이어짐

4) 머신 러닝

  • 머신 러닝은 예측 분석의 연속 선상에 있음.
  • 대개 데이터 과학자 또는 분석가가 모델을 개발
  • IBM Waston과 같은 인공 지능 및 딥러닝 소프트웨어에 쓰이는 머신러닝 알고리즘은 스스로 학습 -> 지속적으로 재프로그래밍할 필요 없이 데이터를 처리하는 과정에서 발전하고 진화

5) AI/ML 애플리케이션 관리 개선

  • 인공지능/머신러닝(AI/ML) 애플리케이션의 배포 및 라이프사이클 관리를 간소화하는 방법을 전문가의 관점에서 알아보는 것
  • ML 모델과 AIP앱을 더 빠르게 구축하고, 이에 대한 협업을 진행하며, 공유하는 데 도움이 됨

6) 신경망

  • 회귀 분석 모델 및결정 트리에서 수집한 정보의 정확성을 평가하는 첨단 분석 기술
  • 이종 데이터 간의 비선형 유사성을 찾아냄
  • 발생할 수 있는 이벤트의 범위를 알아내는 것이 그러한 가능성이 실현될 이유를 이해하는 것보다 더 중요한 경우에 특히 유용

4. 사용예시 (Python)

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error

# 데이터 로드
data = pd.read_csv('housing_data.csv')

# 데이터 탐색
print(data.head())

# 데이터 분할
X = data[['feature1', 'feature2']]
y = data['price']
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

# 선형 회귀 모델 학습
model = LinearRegression()
model.fit(X_train, y_train)

# 예측 및 평가
y_pred = model.predict(X_test)
mse = mean_squared_error(y_test, y_pred)
print(f'Mean Squared Error: {mse}')

# 결과 시각화
plt.scatter(y_test, y_pred)
plt.xlabel('Actual Prices')
plt.ylabel('Predicted Prices')
plt.title('Actual vs Predicted House Prices')
plt.show()

5. 정리

예측 분석을 위해 가장 중요한 것은 '무엇을 예측할 것인지' 에 대해 정하는 것이다.
이를 정했으면 예측하기 위해 사용할 수 있는 '데이터'가 있는지 이 '데이터'는 어떻게 생성되고 어떤 속성을 가졌는지를 파악해 그 다음에 어떤 방식으로 분석할지를 정해야 하는 것이다.

Reference

profile
좋은 지식 나누어요

0개의 댓글