전체 규모 예측과 개인별 성향 점수는 서로 다른 질문에 답합니다. 어느 것도 단독으로 캠페인의 인과 효과를 입증하지 않습니다.
목표, 기간과 이용 가능한 정보
예측량, 단위, 대상 기간과 결정 시점을 정의합니다. 예측을 했을 시점에 이용할 수 있었던 특성만 사용합니다. 미래 정보를 포함하면 데이터 누수가 발생해 시험 결과가 인위적으로 좋아 보일 수 있습니다.
시간 순서대로 시험하기
과거로 학습하고 이후 기간으로 평가한 뒤 시간을 앞으로 옮겨 반복합니다. 실제 결과를 알기까지의 지연을 고려합니다. 변환은 학습 데이터에만 적합하고 최종 시험 데이터는 모델 선택과 분리합니다.
기준과 비교하고 조치를 검증하기
같은 데이터와 예측 기간에서 이전 기간이나 계절 기준 같은 단순한 기준과 비교합니다. 오차와 불확실성을 기록합니다. 좋은 과거 시험은 미래를 보장하지 않습니다. 조치의 효과를 측정하려면 적절히 설계한 실험 등 알맞은 인과 연구 설계가 필요합니다.
출처와 검증
- scikit-learn — Common pitfalls
- scikit-learn — TimeSeriesSplit
- TensorFlow — Time series forecasting
- NIH — Research Methods Resources
예측을 실시간 데이터와 비교하여 검증하십시오.
평가에 초기 기간과 후기 기간을 혼합하면 교통 모델이 정확해 보일 수 있습니다. 시간 인식 검증은 학습과 테스트를 시간 순서대로 분리하여 예측 결과를 미지의 기간에 대한 단순 기준선과 비교할 수 있도록 합니다.
- 기능을 설계하기 전에 예측 기간, 단위 및 허용 오차를 정의하십시오.
- 모델을 계절별 기준선과 비교하고 예측 시점에 사용할 수 없는 정보를 제외하십시오.
- 출시 후 기간별 및 세그먼트별 오차를 모니터링하고, 문서화된 사유와 함께 재학습하십시오.
1차 자료: scikit-learn — TimeSeriesSplit. 관련 방법: 실무 가이드 읽기.
탄소 측정 경계
비교에는 공통 범위와 기능 단위가 필요합니다.
- 구성 요소, 지역, 기간과 기능 단위를 정합니다. 예를 들면 완료한 작업 한 건입니다. 같은 서비스를 제공하는 조건을 비교합니다.
- 에너지, 배출 계수와 하드웨어 할당분을 기록합니다. 측정과 추정을 구분하고 제외 항목을 배출량 0으로 간주하지 않습니다.
- 가상 예: (12 + 3) gCO2e / 작업 5건 = 건당 3 gCO2e. 불확실한 가정을 바꾸고 총배출량도 비교합니다.
재현 가능한 수락 사례
가상 예시입니다. 고객이나 실제 관측 결과를 나타내지 않습니다.
사례 입력 보기
{
"functional_unit": "accepted_task",
"energy_kWh": 2,
"intensity_gCO2e_per_kWh": 100,
"embodied_gCO2e": 50,
"accepted_tasks": 100,
"SCI_gCO2e_per_task": 2.5
}예상 판단
(2 × 100 + 50)/100 = 작업당 2.5 gCO2e이며 선언한 범위에만 해당합니다.
검증 절차
- 경계, 기능 단위 및 계수를 정합니다.
- 에너지, 내재 배출 및 결과를 분리합니다.
- 출처와 암묵적 상쇄 없는 계산을 보존합니다.
재생 에너지 비율만으로 소프트웨어를 비교할 수 있나요?
아닙니다. 경계, 에너지, 계수, 하드웨어와 기능 단위를 밝혀야 합니다.
1차 자료: Green Software Foundation — Software Carbon Intensity. 관련 방법: 실무 가이드 읽기.
누락값, 영과 추정
관측 누락은 측정된 영과 같지 않습니다.
- 미수신 필드, 해당하지 않는 관측과 수집 실패를 구분합니다. 유효한 측정값 0은 유지하세요. 모든 누락을 0으로 바꾸면 다른 상태가 섞입니다.
- 가상 예 [10, 누락, 0]에서 관측 두 개의 평균은 5입니다. 누락을 0으로 바꾼 뒤 3으로 나누면 다른 질문에 답하므로 두 건수를 보여 주세요.
- 추정값에는 대체 표시와 규칙을 보관합니다. 추정 포함·제외 결과를 비교하세요. 유효 관측이 없으면 평균 0 대신 결과 없음을 표시합니다.
재현 가능한 수락 사례
가상 예시입니다. 고객이나 실제 관측 결과를 나타내지 않습니다.
사례 입력 보기
{
"values": [
10,
null,
0
],
"observed_count": 2,
"mean_observed": 5,
"mean_if_missing_replaced_with_zero": 3.3333333333,
"extended_sample": {
"values": [
10,
null,
0,
20,
null,
30
],
"known_count": 4,
"expected_count": 6,
"known_sum": 60,
"mean_observed": 15,
"mean_after_zero_fill": 10
},
"missing_only_sample": {
"values": [
null,
null
],
"known_count": 0,
"mean_observed": null
}
}예상 판단
관측값 평균은 5입니다. 누락을 0으로 대체하면 모집단과 결과가 바뀝니다.
같은 데이터, 두 평균: 규칙을 표시하기
가상 데이터: [10, 누락, 0, 20, 누락, 30]. 예상 관측 6개 중 알려진 값은 4개이며 합계는 60입니다. 기존의 0은 관측값입니다.
| 처리 | 평균 계산 | 해석 |
|---|---|---|
| 알려진 값만 사용 | 60 ÷ 4 = 15 | 평균은 알려진 4개 값을 설명합니다. 누락된 2개가 같은 분포를 가질 것임을 증명하지는 않습니다. |
| 누락값을 0으로 대체 | 60 ÷ 6 = 10 | 두 개의 0은 규칙으로 추가했으며 관측하지 않았습니다. 다른 질문에 대한 평균이므로 비교 전에 규칙의 근거를 제시하세요. |
| 다른 표본: [누락, 누락] | 계산 불가 | 알려진 값이 없으므로 사용 불가로 표시합니다. 평균 0은 존재하지 않는 관측을 암시합니다. |
검증 절차
- 누락, 0 및 추정값을 구분합니다.
- 제외 전후의 평균을 계산합니다.
- 수와 변수별 처리 규칙을 보존합니다. 모든 값이 누락된 그룹도 시험하고, 명시적 규칙 없이 측정된 0으로 표시되지 않는지 확인하세요.
1차 자료: pandas — Working with missing data. 관련 방법: 실무 가이드 읽기.
