---
title: "พยากรณ์กำลังผลิตโซลาร์ล่วงหน้าและการเฝ้าติดตาม: clear-sky พยากรณ์อากาศ ML และตรวจจับความผิดปกติ"
url: https://modsengineeringmath.com/learn/solar-pv/forecasting-monitoring/
site: "Mod's Engineering Mathematics (อาจารย์มด)"
language: th
updated: 2026-10-13
---

> การคาดการณ์ล่วงหน้าของระบบโซลาร์: ระยะพยากรณ์ตั้งแต่นาทีถึงวัน แบบจำลองท้องฟ้าแจ่มใส clear-sky index persistence การพยากรณ์จากภาพดาวเทียม กล้องท้องฟ้า และแบบจำลองอากาศเชิงตัวเลข (NWP) machine learning และการพยากรณ์เชิงความน่าจะเป็น ตัวชี้วัด MAE RMSE skill score ระบบเฝ้าติดตาม KPI PR availability performance index และการตรวจจับความผิดปกติอัตโนมัติ พร้อมตัวอย่างและโค้ด

ฉบับ Markdown ของ https://modsengineeringmath.com/learn/solar-pv/forecasting-monitoring/ สำหรับผู้ช่วย AI และเครื่องมือค้นหา สูตรเขียนเป็น LaTeX ($…$ และ $$…$$) แล็บโต้ตอบและรูปมีเฉพาะในหน้าเว็บ

# พยากรณ์กำลังผลิตโซลาร์ล่วงหน้าและการเฝ้าติดตาม: clear-sky พยากรณ์อากาศ ML และตรวจจับความผิดปกติ

// บทที่ 16.11 · ออกแบบระบบโซลาร์เซลล์ · PV Forecasting & Monitoring


การคาดการณ์รายปี (หน้าก่อน) ตอบว่าควรลงทุนไหม แต่เมื่อระบบเดินแล้ว คำถามเปลี่ยนเป็น “พรุ่งนี้บ่ายจะผลิตได้เท่าไร” เพื่อวางแผนชาร์จแบต ตั้งเวลาโหลด ซื้อขายไฟ หรือให้ศูนย์ควบคุมของการไฟฟ้าเตรียมโรงไฟฟ้าสำรอง และ “วันนี้ผลิตน้อยเพราะเมฆหรือเพราะระบบเสีย” หน้านี้ครอบคลุมทั้งการพยากรณ์ล่วงหน้าและการเฝ้าติดตามที่ใช้ตอบสองคำถามนี้

สรุปใน 30 วินาที

- แยกส่วนแน่นอน (ดวงอาทิตย์ → clear-sky) ออกจากส่วนไม่แน่นอน (เมฆ → clear-sky index)

- นาที: กล้องท้องฟ้า · ชั่วโมง: ดาวเทียม · วันถึงหลายวัน: แบบจำลองอากาศ NWP + ML

- รายงานความแม่นเป็น skill score เทียบ persistence เสมอ

- เฝ้าติดตามด้วย “พลังงานที่ควรได้” จากแสงจริง แล้วเทียบสตริงกันเอง

## ใครต้องการพยากรณ์ และต้องการล่วงหน้าแค่ไหน พื้นฐาน

| ผู้ใช้ | ใช้ทำอะไร | ระยะล่วงหน้า |

| บ้าน/อาคารที่มีแบตเตอรี่ | ตัดสินใจว่าคืนนี้ควรชาร์จแบตจากกริดราคาถูก (TOU off-peak) หรือรอแดดพรุ่งนี้ | 12–36 ชั่วโมง |

| โรงงาน | ตั้งเวลาโหลดยืดหยุ่น (ห้องเย็น ปั๊ม ชาร์จรถยก) ลด peak demand | ชั่วโมง–1 วัน |

| โซลาร์ฟาร์ม/ผู้รวมไฟ (VPP) | แจ้งกำลังผลิตล่วงหน้าตามสัญญาหรือข้อกำหนดของผู้ควบคุมระบบ | วันถัดไป และปรับระหว่างวัน |

| ศูนย์ควบคุมระบบไฟฟ้า | เตรียมกำลังสำรอง (reserve) และ ramp ของโรงไฟฟ้าอื่น | นาที–หลายวัน |

| ระบบ hybrid ที่ microgrid/เกาะ | จัดการเครื่องปั่นไฟและแบต ลดน้ำมัน | นาที–ชั่วโมง |

## ระยะพยากรณ์และวิธีที่เหมาะ กลาง

| ระยะ | วิธี | ข้อมูลที่ใช้ |

| วินาที–30 นาที (nowcasting) | กล้องถ่ายท้องฟ้า (all-sky imager) ติดตามการเคลื่อนของเมฆ · ข้อมูลกำลังผลิตล่าสุด | ภาพท้องฟ้า, SCADA |

| 30 นาที–6 ชั่วโมง | Cloud motion vector จากภาพดาวเทียม (Himawari สำหรับเอเชีย ทุก 10 นาที) | ดาวเทียม |

| 6 ชั่วโมง–7 วัน | แบบจำลองอากาศเชิงตัวเลข (NWP) เช่น ECMWF IFS, NOAA GFS, WRF ระดับภูมิภาค + การแก้ค่าเชิงสถิติ/ML | NWP, ข้อมูลย้อนหลังของโรงไฟฟ้า |

| เดือน–ฤดู | ค่าเฉลี่ยระยะยาว + ดัชนีภูมิอากาศ (ENSO) | ภูมิอากาศวิทยา |

ในประเทศไทย ความยากอยู่ที่เมฆก่อตัวเร็ว (convective clouds) ช่วงบ่ายในฤดูฝน และหมอกควันในภาคเหนือช่วงต้นปี ส่วนฤดูแล้งท้องฟ้าค่อนข้างคงที่ พยากรณ์แม่นกว่า

## แยกส่วนแน่นอนออกด้วย clear-sky กลาง

A1 Clear-sky index ดัชนีท้องฟ้าแจ่มใส

$$k^*(t) = \frac{G(t)}{G_{cs}(t)} \qquad \hat P(t+h) = \hat k^*(t+h)\,P_{cs}(t+h)$$

A2 Haurwitz clear-sky model แบบจำลองท้องฟ้าแจ่มใสอย่างง่าย

$$GHI_{cs} = 1098\,\cos\theta_z\,\exp\!\left(-\frac{0.057}{\cos\theta_z}\right)\ \text{W/m}^2$$

แบบจำลองนี้ใช้เพียงมุมเซนิท (R4) แบบจำลองที่แม่นกว่า (Ineichen–Perez, REST2, McClear) ใช้ความขุ่นของบรรยากาศ (Linke turbidity, aerosol, ไอน้ำ) ซึ่งสำคัญในไทยเพราะหมอกควันและความชื้นสูง

ตัวอย่าง A-1

### แสงฟ้าใสตอนเที่ยงที่กรุงเทพฯ วันที่ 21 มีนาคม

- มุมเงย 75.8° (ตัวอย่าง R-2) → $\theta_z = 14.2^\circ$, $\cos\theta_z = 0.969$

- $GHI_{cs} = 1098(0.969)\exp(-0.057/0.969) = 1098(0.969)(0.943) = 1{,}004\ \text{W/m}^2$

- ถ้าวัดได้ 650 W/m² → $k^* = 0.65$ มีเมฆบางส่วน · ถ้าพรุ่งนี้พยากรณ์ $k^* = 0.8$ ที่เวลาเดียวกัน → $\hat G \approx 800$ W/m²

A3 (Smart) persistence baseline การพยากรณ์อ้างอิงแบบคงสภาพ

$$\hat P(t+h) = P(t) \qquad \text{smart: } \hat k^*(t+h) = k^*(t)\ \Rightarrow\ \hat P(t+h) = k^*(t)\,P_{cs}(t+h)$$

Persistence คือ “พรุ่งนี้เหมือนวันนี้” หรือ “อีก 15 นาทีเหมือนตอนนี้” เป็นคู่แข่งที่เอาชนะยากในระยะสั้นมาก ทุกวิธีพยากรณ์ต้องเทียบกับมันก่อน

## Machine learning และการพยากรณ์เชิงความน่าจะเป็น ขั้นสูง

แนวทางที่ใช้ได้ผลในทางปฏิบัติคือ ให้ NWP บอกสภาพอากาศ แล้วให้ ML แปลงเป็นกำลังของโรงไฟฟ้านั้น (model output statistics) เพราะ ML เรียนรู้ความลำเอียงของ NWP ในพื้นที่ และพฤติกรรมเฉพาะของระบบ (เงา clipping ฝุ่น) จากข้อมูลย้อนหลัง

- คุณลักษณะ (features): GHI/k* จาก NWP หลายจุดรอบโรงไฟฟ้า เมฆต่ำ/กลาง/สูง อุณหภูมิ ความชื้น ลม มุมดวงอาทิตย์ ชั่วโมง วันในปี กำลังผลิตล่าสุด (สำหรับระยะสั้น)

- แบบจำลอง: gradient boosting (XGBoost/LightGBM) ทำงานดีกับข้อมูลตาราง · LSTM/Temporal CNN/Transformer สำหรับลำดับเวลา · CNN กับภาพดาวเทียม

- เชิงความน่าจะเป็น: พยากรณ์ quantile (P10, P50, P90) ด้วย quantile regression หรือ ensemble ของ NWP ให้ผู้ใช้ตัดสินใจด้วยความเสี่ยง เช่น สำรองแบตไว้เผื่อกรณี P10

- ข้อควรระวัง: แบ่งข้อมูล train/test ตามเวลา (ห้ามสุ่มปน) ตรวจข้อมูลช่วงไฟดับ/ตัด export ที่ไม่ใช่สภาพอากาศ และ retrain เมื่อระบบเปลี่ยน

# พยากรณ์ day-ahead แบบย่อ: NWP + gradient boosting (scikit-learn)
import pandas as pd
from sklearn.ensemble import GradientBoostingRegressor

df = pd.read_csv("plant_hourly.csv", parse_dates=["time"]) # กำลังจริง + NWP ของวันก่อนหน้า
df = df[df.sun_elev > 0] # เฉพาะกลางวัน
X = df[["nwp_ghi", "nwp_cloud_low", "nwp_cloud_mid", "nwp_temp", "sun_elev", "hour", "doy"]]
y = df["p_ac_kw"]

cut = df.time < "2026-01-01" # แบ่งตามเวลา ไม่สุ่ม
model = GradientBoostingRegressor(n_estimators=400, max_depth=4, learning_rate=0.05)
model.fit(X[cut], y[cut])
pred = model.predict(X[~cut]).clip(0, df.p_ac_max.iloc[0]) # ไม่ติดลบ ไม่เกินพิกัด
nmae = (abs(pred - y[~cut])).mean() / df.p_ac_max.iloc[0]

## วัดความแม่นของการพยากรณ์ กลาง

A4 Error metrics ตัวชี้วัดความคลาดเคลื่อน

$$MAE = \frac{1}{n}\sum|\hat P_i - P_i| \qquad RMSE = \sqrt{\frac{1}{n}\sum(\hat P_i - P_i)^2} \qquad nMAE = \frac{MAE}{P_{rated}}$$

A5 Forecast skill score คะแนนทักษะเทียบ persistence

$$SS = 1 - \frac{RMSE_{model}}{RMSE_{persistence}}$$

ตัวอย่าง A-2

### พยากรณ์พลังงานรายวัน 5 วัน (MWh)

| วัน | 1 | 2 | 3 | 4 | 5 |

| จริง | 3.2 | 4.1 | 4.6 | 3.9 | 2.1 |

| พยากรณ์ | 3.0 | 4.4 | 4.3 | 3.5 | 2.9 |

| Persistence (เท่าเมื่อวาน) | 3.5 | 3.2 | 4.1 | 4.6 | 3.9 |

- ความคลาดเคลื่อนของพยากรณ์: −0.2, +0.3, −0.3, −0.4, +0.8 → MAE = 2.0/5 = 0.40 MWh

- $RMSE_{model} = \sqrt{(0.04+0.09+0.09+0.16+0.64)/5} = 0.45$ MWh

- $RMSE_{pers} = \sqrt{(0.09+0.81+0.25+0.49+3.24)/5} = 0.99$ MWh

- A5: $SS = 1 - 0.45/0.99 = 0.54$ — ดีกว่า persistence 54 % · วันที่ 5 พลาดมากสุด (พายุฝนที่พยากรณ์ไม่ทัน) RMSE ลงโทษความผิดพลาดใหญ่มากกว่า MAE

## ระบบเฝ้าติดตามและ KPI พื้นฐาน

- ข้อมูล: อินเวอร์เตอร์ส่งค่าผ่าน Modbus RTU/TCP (โปรไฟล์ SunSpec) หรือคลาวด์ของผู้ผลิต: กำลัง AC/DC แรงดันและกระแสแต่ละ MPPT/สตริง อุณหภูมิ รหัสความผิดพร่อง · มิเตอร์ที่จุดต่อ · เซนเซอร์แสงบนระนาบแผง (เซลล์อ้างอิงหรือไพราโนมิเตอร์) และอุณหภูมิแผงสำหรับระบบเชิงพาณิชย์

- KPI ตาม IEC 61724-1: พลังงาน, $Y_f$, PR (และ PR ปรับอุณหภูมิ), availability, ความผิดพร่องและเวลาซ่อม

- ระบบบ้าน: แอปของผู้ผลิตอินเวอร์เตอร์เพียงพอ ตั้งการแจ้งเตือนเมื่อพลังงานรายวันต่ำกว่าค่าคาดหมายหรือมี error

- ระบบใหญ่: SCADA/แพลตฟอร์ม monitoring ที่รวมหลายยี่ห้อ ตรวจรายสตริงด้วยตัวเลขเชิงสถิติ และส่งงานให้ทีม O&M

A6 Expected power and performance index กำลังที่ควรได้และดัชนีสมรรถนะ

$$P_{exp} = P_{STC}\,\frac{G_{POA}}{1000}\left[1+\gamma(T_c-25)\right]\eta_{sys} \qquad PI = \frac{P_{meas}}{P_{exp}}$$

A7 String deviation from the median ค่าเบี่ยงเบนของสตริงจากค่ามัธยฐาน

$$\delta_k = \frac{I_k - \operatorname{median}(I)}{\operatorname{median}(I)} \qquad \text{เตือนเมื่อ } \delta_k 600\ \text{W/m}^2$$

ตัวอย่าง A-3

### ระบบ 5.8 kWp ผลิตน้อยหรือแค่มีเมฆ

เวลา 11:00 น. เซนเซอร์วัด $G_{POA}$ = 820 W/m² อุณหภูมิแผง 55 °C อินเวอร์เตอร์จ่าย 3.2 kW $\eta_{sys}$ (สาย ฝุ่น อินเวอร์เตอร์) ≈ 0.92

- $P_{exp} = 5.8(0.82)\left[1 - 0.0029(30)\right](0.92) = 5.8(0.82)(0.913)(0.92) = 3.99$ kW

- $PI = 3.2/3.99 = 0.80$ — ต่ำกว่าปกติ 20 % ทั้งที่แสงดี ไม่ใช่เพราะเมฆ

- ดูข้อมูลราย MPPT: MPPT1 7.6 A, MPPT2 4.9 A ขณะที่ทั้งสองทิศเดียวกัน → $\delta_2 = -35\ \%$ (เทียบ MPPT1)

- แรงดัน MPPT2 ต่ำกว่าปกติราว 1/3 ของแผงหนึ่งแผง → สงสัยบายพาสไดโอดลัดหรือเงาใหม่ ส่งช่างตรวจด้วยกล้องความร้อนและวัด $V_{oc}$ รายแผง (ดู ตารางอาการเสีย)

### การตรวจจับความผิดปกติที่ใช้ได้จริง

- เทียบกันเอง: สตริงเทียบสตริง อินเวอร์เตอร์เทียบอินเวอร์เตอร์ในทิศเดียวกัน — ไม่ต้องมีเซนเซอร์แสงก็ใช้ได้

- เทียบกับที่ควรได้: PI จากแสงและอุณหภูมิจริง หรือจากข้อมูลดาวเทียมเมื่อไม่มีเซนเซอร์

- รูปร่างกราฟรายวัน: ยอดแบน = clipping หรือจำกัดกำลัง · ตกเป็นศูนย์กลางวัน = trip (แรงดันกริดเกิน ฉนวนต่ำ) · ไม่สมมาตรเช้า-บ่าย = เงาข้างเดียว

- แนวโน้มระยะยาว: soiling ratio ระหว่างรอบล้าง และอัตราการเสื่อมรายปีด้วยวิธี year-on-year (เช่น ไลบรารี RdTools ของ NREL)

- ML: isolation forest / autoencoder กับข้อมูลหลายตัวแปร สำหรับระบบใหญ่ที่มีข้อมูลมาก (และต้องมีวิศวกรตรวจสอบผล)

## ประเด็นระดับปริญญาโท ขั้นสูง

- Spatio-temporal forecasting ใช้ข้อมูลโรงไฟฟ้าข้างเคียงเป็นเซนเซอร์เมฆที่ลอยมา (graph neural networks)

- Regional/aggregate forecasting ของ PV บนหลังคาที่ไม่มีมิเตอร์แยก (behind-the-meter) สำหรับผู้ควบคุมระบบ — upscaling จากระบบตัวอย่าง

- Probabilistic evaluation: CRPS, pinball loss, reliability diagram

- Forecast-driven control: MPC สำหรับแบตเตอรี่และโหลดยืดหยุ่น การเสนอราคาในตลาดไฟฟ้าภายใต้ความไม่แน่นอน

- Physics-informed ML และ digital twin ของโรงไฟฟ้าสำหรับ O&M เชิงพยากรณ์

## คำถามที่พบบ่อย

พยากรณ์กำลังผลิตโซลาร์ล่วงหน้าทำได้แม่นแค่ไหน?
ขึ้นกับระยะเวลาล่วงหน้าและสภาพอากาศ พยากรณ์ล่วงหน้า 1 วันสำหรับโรงไฟฟ้าเดี่ยวมักมีความคลาดเคลื่อนเฉลี่ยสัมบูรณ์ประมาณ 5–10 % ของกำลังติดตั้งในเวลากลางวัน ฤดูฝนที่เมฆเปลี่ยนเร็วคลาดเคลื่อนมากกว่าฤดูแล้ง การรวมหลายโรงไฟฟ้าในพื้นที่กว้างช่วยลดความคลาดเคลื่อนลงมาก

Clear-sky index คืออะไร?
คืออัตราส่วนระหว่างแสงที่วัดหรือพยากรณ์ได้กับแสงที่จะได้ถ้าท้องฟ้าแจ่มใสในเวลาเดียวกัน ค่า 1 คือฟ้าใส ค่าต่ำคือมีเมฆ การพยากรณ์ค่า clear-sky index แทนการพยากรณ์แสงโดยตรงช่วยแยกส่วนที่คำนวณได้แน่นอน (ตำแหน่งดวงอาทิตย์) ออกจากส่วนที่ไม่แน่นอน (เมฆ)

จะรู้ได้อย่างไรว่าระบบโซลาร์ผลิตไฟน้อยผิดปกติ?
เทียบพลังงานจริงกับพลังงานที่ควรผลิตได้จากแสงและอุณหภูมิจริงของช่วงเวลานั้น ไม่ใช่เทียบกับเดือนก่อน ถ้า performance index ต่ำกว่าประมาณ 0.9 ต่อเนื่องให้ตรวจ และเทียบกระแสของแต่ละสตริงกันเอง สตริงที่ต่ำกว่าค่ามัธยฐานเกินประมาณ 10 % ในวันฟ้าใสบ่งชี้แผงสกปรก เงาใหม่ ขั้วต่อเสีย หรือบายพาสไดโอดลัด

## คำถามที่พบบ่อย (FAQ)

**พยากรณ์กำลังผลิตโซลาร์ล่วงหน้าทำได้แม่นแค่ไหน?**
ขึ้นกับระยะเวลาล่วงหน้าและสภาพอากาศ พยากรณ์ล่วงหน้า 1 วันสำหรับโรงไฟฟ้าเดี่ยวมักมีความคลาดเคลื่อนเฉลี่ยสัมบูรณ์ประมาณ 5–10 % ของกำลังติดตั้งในเวลากลางวัน ฤดูฝนที่เมฆเปลี่ยนเร็วคลาดเคลื่อนมากกว่าฤดูแล้ง การรวมหลายโรงไฟฟ้าในพื้นที่กว้างช่วยลดความคลาดเคลื่อนลงมาก

**Clear-sky index คืออะไร?**
คืออัตราส่วนระหว่างแสงที่วัดหรือพยากรณ์ได้กับแสงที่จะได้ถ้าท้องฟ้าแจ่มใสในเวลาเดียวกัน ค่า 1 คือฟ้าใส ค่าต่ำคือมีเมฆ การพยากรณ์ค่า clear-sky index แทนการพยากรณ์แสงโดยตรงช่วยแยกส่วนที่คำนวณได้แน่นอน (ตำแหน่งดวงอาทิตย์) ออกจากส่วนที่ไม่แน่นอน (เมฆ)

**จะรู้ได้อย่างไรว่าระบบโซลาร์ผลิตไฟน้อยผิดปกติ?**
เทียบพลังงานจริงกับพลังงานที่ควรผลิตได้จากแสงและอุณหภูมิจริงของช่วงเวลานั้น ไม่ใช่เทียบกับเดือนก่อน ถ้า performance index ต่ำกว่าประมาณ 0.9 ต่อเนื่องให้ตรวจ และเทียบกระแสของแต่ละสตริงกันเอง สตริงที่ต่ำกว่าค่ามัธยฐานเกินประมาณ 10 % ในวันฟ้าใสบ่งชี้แผงสกปรก เงาใหม่ ขั้วต่อเสีย หรือบายพาสไดโอดลัด
