품질관리(QAQC) 데이터 부트캠프(본캠프)

본캠프_9주차(화)_TIL(심화 프로젝트 기간)

Wat_zy 2025. 11. 11. 09:00

✅ 오늘 한 것

심화 프로젝트


✏️ 오늘 배운 점

 

Lag Feature란?

"과거의 데이터를 새로운 입력으로 추가하는 것"
즉, 이전 시간의 값들을 복사해서 옆 칼럼에 붙여서 예측에 활용하는 방법

| 시간    | 온도(현재) | 온도(1분 전) | 온도(2분 전) |
| ----- | ------ | -------- | -------- |
| 08:00 | 25.0°C | —        | —        |
| 08:01 | 25.3°C | 25.0     | —        |
| 08:02 | 25.5°C | 25.3     | 25.0     |

왜 쓰나요?

1. 과거가 현재에 영향을 줄 수 있기 때문

예:
"어제 많이 비가 왔다면 오늘도 비가 올 확률이 높다"
"배터리 전압이 계속 떨어졌다면, 지금도 떨어질 가능성이 높다" ⇒ 배터리 잔량은 전류나 온도가 누적적으로 영향을 미쳐 변화하기 때문에, 현재 값뿐만 아니라 과거 값도 중요하다.
import pandas as pd

# 예제 시계열 데이터 생성
data = {'value': [10, 12, 15, 14, 16, 18, 20]}
df = pd.DataFrame(data)

# t-1, t-2 lag feature 생성
df['lag_1'] = df['value'].shift(1)
df['lag_2'] = df['value'].shift(2)

print(df)

 

 

diff feature

diff()는 이전 시점과 현재 시점의 차이

왜 diff feature를 추가할까?

1. 변화 자체가 의미 있는 경우가 많기 때문

  • 시계열 데이터 에서는 현재 값보다 얼마나 변했는지가 더 중요할 수 있음
  • 예:
    • 전류가 갑자기 증가했다 → 이상 징후
    • 온도나 특정 센서가 점점 상승 중이다 → 공정 이상 가능성

📌 2. 추세나 패턴을 모델이 인식하게 해줌

  • 원본 값만 보면 모델은 "상태"만 인식
  • 하지만 변화량이 있으면 방향"과 "속도"도 파악할 수 있음

예:

x_t = 370.2

→ 정지된 값처럼 보이지만

Δx_t = -0.7 이라면 → "감소 중"이라는 신호를 모델이 이해함

 

# 변화량(ΔX) 추가: .diff() = 현재 - 이전 시점
df['Δ전압'] = df['전압(V)'].diff()
df['Δ전류'] = df['전류(A)'].diff()
df['Δ온도'] = df['온도(℃)'].diff()

Timestamp 전압(V) 전류(A) 온도( ℃) Δ전압 Δ전류 Δ온도
2025-07-01 08:00:00 370.2 21.5 34.1
2025-07-01 08:01:00 370.2 21.5 34.1 0.0 0.0 0.0
2025-07-01 08:02:00 370.2 21.5 34.1 0.0 0.0 0.0
2025-07-01 08:03:00 369.5 22.8 34.5 -0.7 1.3 0.4
2025-07-01 08:04:00 369.0 23.0 34.7 -0.5 0.2 0.2

 


📌추가로 해야할 점

심화 프로젝트