s用各種機器學習演算法提升Matlab 類神經網路模 組於太陽能光伏 … ·...

21
利用各種機器學習演算法提升 Matlab 類神經網路模 組於太陽能光伏發電預測的準確度 Application of various machine learning and pre- processing algorithms to increase accuracy of Matlab neural network toolbox in solar photovoltaic power generation prediction 摘要 在現代社會,能源和環境議題不斷被提出,在政府的太陽光電計畫的推波助瀾下, 併聯式太陽光伏發電裝置容量逐年增長,在電力需求仍維持成長之趨勢下,分析各區域 之尖峰用電需求及電力資源分配,應用智慧發電規劃,平衡電網供需,確保電力穩定供 應為當務之要,一套準確且有效的太陽光伏發電預測系統對於電力運行的安全和成本已 是必要的條件。本研究以 MATLAB 既有類神經網路套件以機器學習方法提升進行太陽 光伏發電預測的準確率,最終再以 KNN 遴選出最適方法。 關鍵詞:類神經網路、機器學習、MATLAB 套件、太陽光伏發電

Transcript of s用各種機器學習演算法提升Matlab 類神經網路模 組於太陽能光伏 … ·...

利用各種機器學習演算法提升Matlab類神經網路模

組於太陽能光伏發電預測的準確度

Application of various machine learning and pre-

processing algorithms to increase accuracy of

Matlab neural network toolbox in solar photovoltaic

power generation prediction

摘要

在現代社會,能源和環境議題不斷被提出,在政府的太陽光電計畫的推波助瀾下,

併聯式太陽光伏發電裝置容量逐年增長,在電力需求仍維持成長之趨勢下,分析各區域

之尖峰用電需求及電力資源分配,應用智慧發電規劃,平衡電網供需,確保電力穩定供

應為當務之要,一套準確且有效的太陽光伏發電預測系統對於電力運行的安全和成本已

是必要的條件。本研究以 MATLAB既有類神經網路套件以機器學習方法提升進行太陽

光伏發電預測的準確率,最終再以 KNN遴選出最適方法。

關鍵詞:類神經網路、機器學習、MATLAB套件、太陽光伏發電

1

壹、緒論

一、 研究背景

太陽光伏發電受天天氣變化影響甚鉅,一整天下來天氣的劇烈變化,將造成供電網

路穩定性也跟隨著產生劇烈變化,導致台電在電力供應上需隨時配合增、減量措施,使

的在能源供應上存在時變率的問題,例如:太陽光由早上至中午在到傍晚,其日照度隨著

時間不同而變化,而雲層的遮蔭干擾造成時變率大幅變化且無規律性,此時變率變化極

大的發電系統對於電力供應網路的穩定性將是一個嚴重的問題。由於太陽光伏發電具有

間歇性、波動幅度大,因此如何準確的預測太陽光伏發電有其研究的必要性及價值。

二、 研究動機

太陽能是藉著太陽日射強度轉成電能,其照度會隨著季節、時間、雲量、天氣等因

素而改變。自古以來,便有許多的研究學者討論著該如何使用各種的因子來進行太陽能

的發電量預測,過往常見的方法包含使用純統計方法進行預測或是使用機器學習的方法

進行預測。首先在統計方面,以相關係數分析探討輸入和輸出之間相對關係,對於發電

量的影響(胡智惠,2018年),但其缺點為統計分析需要收集大量的數據資料,開發特殊

預測模型。以 ARMA(2,q)模型對於太陽能電廠發電量進行研究(趙自偉,2012),但其缺

點為太陽光伏發電在實際上受天氣影響甚大,並非為單純時間序列關係,需要開發特定

預測模型。數值天氣預報系統(葉天降,2011),但其缺點為需要高規格硬體設備,進入

門檻極高。在機器學習方面,利用類神經網路進行太陽能預測,其缺點為天氣影響對於

太陽光伏發電並非單一影響,需要針對其特性開發特定預測模型。以現有 NN模型搭配

資料集,如以 11 個氣象資料和 20 個區域電力資料進行混合(Masoud Sobhani,2019)及

以太陽能模組本身裝置係數進行分析預測(Hsu-Yung Cheng,2019),但其缺點為預測適

應性僅針對於該限定區域且需對不同區域開發不同的特定預測元件。在深度學習模型方

面,基於 RBM和 Elman神經網絡的深度學習混合模型在預測上提供良好的預測準確度

且縮短需要計算時間(Xiaoyu Zhang,2018)。gateRNN 相在電力負載預測整體的效果上

有較好的結果(Lintao Yang,2019)及滾動時間窗口的自適應反向傳播(BP)神經網絡模型,

該神經網路模型會隨時間推移,以迎合外部環境的持續變化,提高預測準確度 (Honglu

Zhu,2017)。但其缺點為只能應用於短時間的預測,且深度學習進入門檻較高。

綜觀以上對於太陽能預測的方法,雖然都宣稱其可以有效改善他們各自的問題,但

這些方法事實上皆存在著一些問題,例如特定模型只能應用部分情形,無法被普遍運用

或現有套裝模型容易被制約特定使用方式,甚至於預測模型是否經過足夠的資料進行驗

證其有效性等等。

2

三、 研究目的

基於上述問題,在本研究中提出各種資料預處理的方法配合現行已開發的各項套

件進行太陽光伏發電預測。會有如此想法是因為現有以類神經進行預測的模型幾乎往

深層類神經的領域邁進,也到了所謂深度學習的世代,然而不管是深層類神經或是深

度學習,皆需仰賴 GPU進行大量運算,而一顆 GPU動輒以萬元起跳非一般人所能負

荷且也不符合經濟效益。因此,若能以淺層類神經網路加上資料預處理方法進行發電

量預測,既能節省經濟成本又可以達到相同預測效果,同時符合經濟效益。

所以本論文提出了以下的分析方法,包含了:(1)將所有資料經過預處理分析。(2)以

多種類神經演算法進行類神經網路模型訓練,經多次反覆進行訓練後,逐一建立太陽

光伏發電量預測模型。(3)並將測試資料投入模型進行發電量預測,模型的訓練資料

70%與測試資料 30%之比例,判定標準是計算各個類神經網路對於太陽光伏發電量的

預測值和目標值之間的誤差量進行評斷,以計算 RMSE係數是否達最小化。最後,以

KNN演算法依照天氣因子從多個預測模型中遴選出不同天氣因下最佳類神經預測模

型。

四、 研究流程

研究架構大致分為三大部分,我們提出一系列的流程與方法來改善,其研究流程

如圖 1.1 所示,主要內容及步驟如下

圖 1.1研究流程圖

確認研究方向

文獻回顧

收集相關資料專家訪談

資料預處理建立與驗證

類神經模型測試

應用結果

模擬驗證

結論與建議

類神經模型驗證是否達到預期效果

第一部分

第二部分

第三部分

重新設計資料預處理和驗證

3

貳、文獻探討

一、太陽能系統介紹

太陽能電池又稱太陽能晶片或光電池,是一種將太陽光經由光伏效應轉換成電能

的裝置。在一般常見的半導體太陽能電池中,透過適當的能階轉換,便可將太陽所發

出的光有效的轉換,並產生直流電壓與電流,這種現象稱之為太陽光伏效應,如圖 2.1

所示。

圖 2.1太陽能電池示意圖

依照不同的電力使用需求,太陽光伏發電系統可成以下三大類型:1.獨立型太陽光電系

統、2.併聯型太陽光電系統、3.防災併聯型太陽光電系統。

二、機器學習方法

顧名思義「機器學習」就是要讓機器像人類一樣具有學習的能力。透過樣本訓練

機器辨識出既有的運作模式,而不是套用現有的規則來運作,這些樣本可以來自於訓

練資料,從訓練資料或樣本中得到複雜的函數來學習以創造出自有的演算法,並利用

它來做預測。機器學習的種類共分為四大類:(1)監督式學習(Supervised learning)、(2)非

監度式學習(Un-supervised learning)、(3)半監督式學習(Semi-supervised learning)、(4)增

強式學習(reinforcement learning)。

(一) 監督式學習

有的訓練資料都有標準答案,可以讓機器學習在輸出時判斷與標準答案之間的

差距。

(二) 非監度式學習

所有的資料皆沒有標準答案可以參考,無法提供機器學習於輸出時判定誤差差

P型

N型

4

距,必須由機器學習自行尋找答案。

(三) 半監督式學習

大部分資料皆無答案,僅部分資料有標準答案,可提供機器學習輸出判斷誤差

使用。

(四) 增強式學習

透過觀察環境而行動,並會隨時根據新進來的資料逐步修正。

三、群集分析

依據資料中相似度或相異程度而將資料進行分群歸屬到數個群集的方法,使得於

同一群集內的資料相似程度為最大,而群集與群集之間的相似程度達到最小。在本研

究中所使用的群集分析方法分別為 K-means分群演算、DBSCAN密度聚類演算法。

(一) K-means演算法

欲將資料分割成 K個互不相交的群集,當資料點與該群集中心相似度高於其

他群集時則歸類於該群集中,若其他群集中心相似度高於原群集,則該資料

點亦歸屬於新群集,再以新群集重新計算中心點,反覆進行計算直到切割的

子群集收斂為止。

(二) DBSCAN聚類演算法

DBSCAN是一種以密度為基礎的聚類演算法,該演算法定義類別為通過樣本

間分佈的緊密程度而決定。也就是說,同一個屬性類別本身群聚密度程度高

則該樣本是緊密相聯的,則在該類別任意的樣本周圍處還有其他相同類別的

樣本存在。將緊密相聯的樣本劃分為同一類,就可以得到一個聚類類別。

五、 KNN分類演算法

K表示一個常數,指的是離待判點最近的 K個點,然後依照類別多的點就把自己

也歸屬於那個類別,如圖 2.2所示。

圖 2.2 KNN分類演算法示意圖

?

K=3

K=1

Class 1

Class 2

5

六、 類神經網路

類神經網路具有優點:1.類神經網路對於訓練資料具有過濾、處理之能力。2.類神經具有

自我學習能力。3.可處理大量資料,並可以透過隱藏層獲得記憶功能。在歷經數十年之

演化,技術已日漸成熟。可藉由學習法則處理非線性之分類、推論及分析等問題,並

具有資料辨識、函數預測、雜訊過濾、訊號分析、分類控制等功能。

(一) 類神經前饋演算法

主要是模仿生物神經網路的資訊處理系統的概念所發展出來的一種演算法,

在處理問題時,取得外在環境的相關資訊,人工神經元如圖 2.3所示。

(二) 類神經反饋演算法

倒傳遞類神經網路當輸出值jY 和目標值 jT 之間有落差時,計算出誤差訊號量

E,如式子(2.1)所示,其模型示意圖如圖 2.4所示。

2

1

1

2

n

j j j

j

Error T Y

(2.1)

其中 Y:為輸出訊號、T:為真實輸出值。

圖 2.3 人工神經元示意圖

圖 2.4類神經反饋演算法模型示意圖

……

W2

W1

Σ ƒ

X1

X2

Xn

Y

Wn

b

System ERROR訓練資料輸入

訓練資料輸出

依ERROR調整類神經參數

類神經訓練輸出

6

(三) 模糊類神經演算法

結合「模糊(Fuzzy)」以及「類神經網路」的改良式類神經網路,以類神經

網路來分析並自動設計適當的模糊邏輯法則。FNN訓練演算法,其模糊類神

經訓練架構如圖 2.5所示。

圖 2.5模糊類神經模型示意圖

七、 淺層類神經於太陽能發電量預測之應用

目前使用淺層類神經模型進行發電量預測之探討大致上可分為以下三種: (1)使用現

有 NN模型結合不同資料集進行預測、(2)使用現有 NN模型結合不同前處理方法進行

預測、(3)使用不同 NN模型進行預測,現有應用整理於表 2.1所示。

表 2.1現有淺層類神經應用於太陽能發電列表

現有 NN模型結合不同資料集

預測目地 目標 演算法模型 資料來源

電力負載預測 30天 線性、指數、幾何平均、雙重、遺傳

演算法、合奏 (4)

太陽輻射強度 即時 ANN (7)

負載預測 24小時 DNN(深度學習) (5)

現有 NN模型結合不同前處理方法

預測目地 目標 演算法模型 資料來源

電力負載預測 24小時 LSTM (6)

太陽光伏發電 15分 ANN、SVR (1)

使用不同 NN模型進行預測

預測目地 目標 演算法模型 資料來源

短期電力負載預測 24小時 RBM和 Elman神經網絡 (9)

電力負載預測 40分鐘 gateRNN (3)

太陽光伏發電 25天 適應反向傳播(BP)神經網絡模型 (2)

太陽光伏發電 4小時 深度學習 (8)

System ERROR訓練資料輸入

訓練資料輸出

依ERROR調整類神經參數

類神經訓練輸出

FNN

7

參、資料集介紹

本研究為太陽光伏發電預測,天氣因子資料來源為交通部中央氣象局、大氣水文

研究資料庫所提供,太陽光伏發電資料來源為政府資料開放平台(台灣電力股份有限公

司)。

一、資料收集

由於太陽能屬於天然資源,其發電量除了與發電廠位置有相關外,太陽能發電量

除本身光電轉換效率及當地全日空照射影響外 (蕭子訓,2017年) ,亦受到陽光日射

角、光譜變化、日照量變化、陽光遮蔭、模組溫度、模組年固定衰退率、線路耗損、

直流轉交流之換流器損耗等因素所影響 (王金印,2014年) 。太陽光伏發電系統,主

要受太陽能輻射影響,在時間上具有較大的不連續性和不穩定性。容易受到季節和地

理因素的影響,而且與當時的大氣能見度、水氣含量、雲量、雲狀與太陽的相對角度

和方位等有密切相關。

經由專家訪談及文獻資料整理後,所採用的太陽光伏發電預測相關因子整理如

下,其中分為天氣因子與自訂因子。本研究使用臺灣電力公司太陽光伏發電量資料開

放平台之開放資料,選取時間範圍為 2017年 1月 1日至 2018年 6月 30日止,共 18

個月合計 546筆之歷史資料,天氣因子有氣溫、日照時數、雨量、雲量、PM2.5、全天

空日射量等六項,如表 3.1所示。

表 3.1 本論文使用資料集

項次 大氣因子 自訂因子 資料範圍

1 氣溫 PM2.5累計 2017/01/01~2018/06/30

2 全天空日射量 2017/01/01~2018/06/30

3 PM2.5 2017/01/01~2018/06/30

4 降雨量 2017/01/01~2018/06/30

5 日照時數 2017/01/01~2018/06/30

6 平均雲量 2017/01/01~2018/06/30

二、資料觀察

研究中僅討論氣候對太陽光伏發電的影響,發電效率及轉換效率則在產品設計當

下所決定。舉凡氣候資訊中溫度、濕度、雨量、落塵、雲量、日照時數、日照強度等

都有可能是影響太陽光伏發電的重要因子,研究中所有資料來源整理,如表 3.2、表

3.3所示。

8

表 3.2 本論文使用資料集來源

相關資料 資料來源

太陽光伏發電廠發電量 政府資料開放平台(台灣電力股份有限公司)

日射量資料 大氣水文研究資料庫

日照時數資料 交通部中央氣象站

懸浮微粒資料 交通部中央氣象站

大氣資料 交通部中央氣象站

雲量資料 交通部中央氣象站

表 3.3 太陽能電廠發電量

日期 大潭光電 龍井光電 核三廠光電

2017/1/1 2655 23955 6901

2017/1/2 1572 12978 6976

2017/1/3 1276 22732 6941

… … … …

2017/12/30 1785 21068 3094

2017/12/31 149 17354 1475

單位: KW/天

表 3.4 大氣資料集

日期 測站 溫度 濕度 雨量 PM2.5 日照時數

2017/1/1 新屋 20.4 81 0 13 10

2017/1/1 梧棲 19.5 86 0 30 9.6

2017/1/1 恆春 23.9 65 0 13 8.9

… … … … … … …

2018/6/30 新屋 28.9 78 2.2 19 11.6

2018/6/30 梧棲 28.4 78 17 12 3

2018/6/30 恆春 28.5 80 9 8 4.3

資料集範圍:中央氣象局各地面測站,2017/01/01~2018/06/30,共 546筆

表 3.5日射量資料集

縣市 代表測站 站碼 日平均(KW/2m )

桃園市 新屋 467050 4.15

台中市 梧棲 467490 4.41

屏東縣 恆春 467590 4.04

資料集範圍:中央氣象局各地面測站,2017/01/01~2018/06/30,共 546筆

9

肆、研究方法

本研究方法從資料收集開始大致上區分為八大步驟,其中與傳統機器學習差異如

圖 4.1研究方法流程圖所示,依照噪點有無去除、分群的方法、建模的方法及最後的決

策混合模型。

圖 4.1研究方法流程圖

一、資料清洗

資料傳遞過程中會受到人為疏忽、外界干擾或是偵測儀器本身發生異常等因素,發生

資料誤植、資料遺失或資料不一致、重覆、矛盾等問題,而導致記錄受到影響,若直

接針對有問題的資料進行分析,則會產生錯誤或是無意義的結果。因此必須於資料進

行分析前透過資料清洗方式對資料本身進行修正。

(一) 遺漏值

在一連串的資料中,突然出現有資料短缺的現象,倘若遺漏資料為單一筆

收集資料

觀察資料

清洗資料

建模資料重構

關連性分析

分群

分類

收集資料

觀察資料

清洗資料

取特徵值

降維

分類

建模

傳統機器學習方法

我們研究的方法

建模

混合模型建立

收集資料

觀察資料

清洗資料

建模資料重構

關連性分析

去噪點 不去噪點

ANN DNN FNN

2群 4群 6群 8群

不分群 季節 雨季

變化種類流程圖

隨機森林 KNN

一般分群 發電量分群

ANN

10

資料,且其資料為連續性資料,則可以利用內差法或是移動平均法進行補值,

其式子如(4.1)所示。

1 2 1

n

t i

i t n t tt n

AA A A

F MAn n

(4.1)

其中 =第 t期的預測值、 期的移動平均、 =第 t-1期的實際值、n 為移動平

均的期數(資料點)

(二) 錯誤資料

資料進行整合必須先要確認資料的完整性與正確性,避免因資料缺失影

響整個分析結果。例如資料的有效範圍,平地地區不會出現負溫度現象。也

要驗證其合理性,太陽光伏發電不會出現負的發電量。只要將該筆資料刪

除,並先觀察前後資料的關係在輔以內插法或移動平均法進行補值,其式子

如(4.2)所示,也可以改寫成式子(4.3)和(4.4)。

0 0

1 0 1 0

y y x x

y y x x

(4.2)

0 1(1 )y y y (4.3)

0 1 0( )y y y y (4.4)

(三) 離群值去除

資料在被紀錄的過程之中難免會因外來因素造成部分資料記錄錯誤,如

雜訊或是偏離值,若無一個好的機制將這些異常去除,有時會影響到後續的

分析結果,基於此因本研究中選擇使用 DBSCAN密度演算法進行離群值去

除。

二、建模資料重構

PM2.5落塵的累積對於太陽光伏發電也有相當的影響,而在研究中所收集到的

PM2.5落塵因子中只有單日落塵的平均值,因此我們必須自行建構出 PM2.5落塵累積

量。另外,PM2.5的落塵量累積也同時受到雨量的影響,下大雨時太陽能面板上的

PM2.5落塵受到大雨沖刷而清除,而不下雨或者雨量過小不足以沖刷太陽能面板上的

PM2.5落塵時,則會持續累積 PM2.5落塵量。有鑒於此,本研究以雨量及 PM2.5落塵

進行資料重構。

三、關聯性分析

影響太陽光伏發電的天氣因子有相當多,且並非所有因子皆會直接影響發電量,

11

同時為了降低演算法的複雜度及減少運算量,勢必進行輸入因子維度縮減。除了專家

所建議的 PM2.5資料外,我們另外加入其他因子使用 Pearson相關係數進行關連性分

析,如表 4.1所示。

表 4.1 因子關連性分析表

發電量

氣溫

Pearson 相關 .281**

顯著性 (雙尾) .000

個數 546

日射量

Pearson 相關 .761**

顯著性 (雙尾) .000

個數 546

降雨量

Pearson 相關 -.293**

顯著性 (雙尾) .000

個數 546

日照數

Pearson 相關 .816**

顯著性 (雙尾) .000

個數 546

平均雲量

Pearson 相關 -.719**

顯著性 (雙尾) .000

個數 546

季節

Pearson 相關 -.246**

顯著性 (雙尾) .000

個數 546

濕度

Pearson 相關 -.220**

顯著性 (雙尾) .000

個數 546

四、分群

使用 K-means進行分群演算時,分群能力受到中心點初位置影響,每次分群皆會

產生不一樣的結果,但計算速度較快。針對上述缺點,可以使用輪廓法和手肘法尋找

K-means的最佳分群數,但對於 K-means給定 K值後每次分群結果不一致的部分,只

能藉由反覆分群進行確認,例如做 30次。

(一) 一般分群

說明如下 2017/1/1分別以 2群、4群、6群、8群進行分群,分群後結果

如表 4.2,第 10列到 13列中,分別被分群到 2群中的第 1群、4群中的第 2

群、6群中的第 6群、8群中的第 4群,2018/6/30分群結果為,分別被分群

到 2群中的第 2群、4群中的第 3群、6群中的第 5群、8群中的第 3群。

表 4.2 一般分群結果彙整表

日期 2017/1/1 2017/1/2 2017/1/3 … 2018/6/28 2018/6/29 2018/6/30

核三廠光電 6901 6976 6941 … 6272 6804 5696

氣溫(℃) 23.9 24.6 24.8 … 29.2 29.5 28.5

日射量 4.14 4.06 3.69 … 6.19 5.95 4.8

12

PM2.5 13 11 11 … 5 2 8

PM2.5累計 13 24 35 … 33 35 0

降雨量 0 0 0 … 0 0 9

日照時數 8.9 10 7.6 … 9.3 9.1 4.3

平均雲量 0.22 0.15 0.28 … 0.43 0.45 0.81

2群 1 1 1 … 1 1 2

4群 2 2 2 … 1 1 3

6群 6 6 6 … 1 1 5

8群 4 4 4 … 2 2 3

(二) 發電量分群

說明如下 2017/1/1分別以 2群、4群、6群、8群進行分群,分群後結果

如表 4.3中第 3列到 6列中顯示,分別被分群到 2群中的第 1群、4群中的第

4群、6群中的第 6群、8群中的第 4群,2018/6/30分群結果為,分別被分群

到 2群中的第 2群、4群中的第 1群、6群中的第 3群、8群中的第 5群。

表 4.3 發電量分群結果彙整表

日期 2017/1/1 2017/1/2 2017/1/3 … 2018/6/28 2018/6/29 2018/6/30

核三廠光電 6901 6976 6941 … 6272 6804 5696

2群 1 1 1 1 1 2

4群 4 4 4 3 3 1

6群 6 6 6 4 4 3

8群 4 4 4 8 8 5

五、分類

在實際使用上,我們也依照與專家訪談後的建議進行資料分類,在分類上我們依資

料特性進行分類可分(1)一般分類、(2)發電量分類、(3)不分類、(4)雨季、(5)季節。在季

節部分,將整個資料集依季節切割為以單一季節為一資料集,由於各個季節的天氣特性

皆不相同,進行切割後可以集中同一天氣特性的樣本為一類別。在雨季部分,依照下雨

及不下雨進行排序,實際上太陽光伏發電對於雨天和晴天的發電量肯定不一樣,因此藉

由這方式提供預測精準度。

六、建模

本研究使用幾種建模的方式,包括(1)基礎類神經建模。(2)二次基礎類神經建模。

(3)模糊類神經建模,如圖 4.2所示。其中,這些模型的輸入都是天氣因子,有氣溫、

日照時數、雨量、雲量、PM2.5、全天空日射量等六項,共計 546筆資料。資料區間為

2017年 1月 1日至 2018年 6月 30日。而模型的輸出都是發電量。

13

圖 4.2建模方法介紹 (a)基礎類神經建模 (b)二次基礎類神經建模 (c)FNN類神經建模

(一) 基礎類神經建模

圖 4.3類神經前饋演算法示意圖

類神經前饋演算法如圖 4.3所示,其公式參考如下式子(4.5)至(4.11)。

Op x (4.5)

Mq w Op b (4.6)

( )x x

x x

e ey f x

e e

(4.7)

mq mq

mq mq

e e

e e

Oq (4.8)

Mr v Oq (4.9)

資料輸

入Ideal

ANN

ERROR基礎

類神經建模

主因子

輸入Ideal

ANN

ERROR

次要因子輸入

Ideal

ANN

ERROR二次基礎

類神經建模

資料輸

入Ideal

FNN

ERRORFNN

類神經建模

(a)

(b)

(c)

x1

x2

y

w v

b

Σ ƒ

Σ ƒ Σ ƒ

Σ ƒ

Σ ƒ

Σ ƒ

14

mr mr

mr

e e

e e

mrOr (4.10)

aoty Or (4.11)

類神經反饋演算法其公式參考如下式子(4.12)至(4.21)。

21/ 2( )d actE y y (4.12)

( 1) ( )E

t tv

v v (4.13)

E

errorv

Oq (4.14)

( 1) ( )t t error v v Oq (4.15)

( 1) ( )E

t tb

b b (4.16)

2

4

( )

Eerror

b e e

mq mqv (4.17)

2

4( 1) ( )t t error

e e

mq mqb b v (4.18)

( 1) ( )E

t tw

w w (4.19)

2

4Eerror

w e e

mq mqw Op (4.20)

2

4( 1) ( )t t error

e e

mq mqw w w Op (4.21)

(二) 二次類神經建模

二次基礎類神經則是以原基礎類神經進行變化,依照關連性分析結果,

可以將所有因子定義為正相關和負相關,而在所有影響因子中的日照量和日

照時數則是屬於主要影響因子,其餘氣溫、PM2.5、累計 PM2.5、雨量跟雲量

定義為次要影響因子。

15

首先將主要影響因子設定為輸入變量,發電量為輸出目標,以基礎類神

經模型進行訓練和測試。完成後計算目標值和預測結果間的誤差,將該誤差

再次進行正規化後當成目標值,以次要影響因子當成輸入變項,進行第二次

基礎類神經訓練和測試,將第一次訓練結果和第二次訓練結果相加計算出與

輸出目標之間的誤差,以 RMSE進行預測結果評比以最小值為最佳結果。

(三) 模糊類神經建模

FNN訓練演算法,此演算法可以透過調整 FNN內部參數,讓實驗輸出可以更

貼近於本研究中發電量的預測。FNN的訓練演算法數學式如式子(4.22)至(4.29)

2 2( , ) 1/ 2( ( ) ( )) 1/ 2 ( )dE w t y t y t e t (4.22)

( 1) ( ) ( )E

v t v tv

(4.23)

( 1) ( ) ( )E

m t m tm

(4.24)

2 1Eew o

m

(4.25)

2 1( 1) ( )m t m t ew o

(4.26)

12

2

E o mew o

(4.27)

12

2( 1) ( )

o mt t ew o

(4.28)

3( 1) ( )w t w t eo (4.29)

(四) 績效評核

均方誤差

MSE的計算方法為計算實際值與預測值誤差的平方值,經此步驟可強化誤差

分配的群聚範圍,藉此得到更明確的比較結果。

2

1

ˆn

t t

t

y y

MSEn

(4.30)

均方根誤差

16

均方根誤差即為均方誤差之平方根,在本研究中皆為採用均方根誤差進行效能

評比。本研究中 RMSE的物理定義為發電度/每天的誤差量。

RMSE MSE (4.31)

七、KNN決策最佳類神經模型

在此以表 4.4中的九種模型由 KNN演算法選出每一組的最佳演算法,套入以天氣

因子組成的輸入變數,共計有七個天氣因子,分別為氣溫、日射量、日照量、PM2.5、

累計 PM2.5、雨量和雨量。即可以得到帶有輸入變量和類別標籤的對應表,如表 4.5所

示。由於類神經模型本身即存在預測上誤差,再加上各類神經模型之間的誤差,因此

在研究中,我們於 KNN模型中新增加一個閥值參數,做為可接受誤差範圍。將表 4.5

代入 KNN模型中進行訓練,待完成訓練後即可利用 KNN模型遴選出最佳類神經模型

進行太陽光伏發電預測。

表 4.4逐日類別標籤範例

日期 2017/1/1 2017/1/2 2017/1/3 …… 2018/6/29 2018/6/30

核三廠光電 6901 6976 6941 …… 6804 5696

ANN 6384.21 6555.26 5855.38 …… 7045.30 5234.59

DNN 6592.21 7058.62 5943.05 …… 7014.18 5759.47

FNN 6861.08 6837.90 6080.00 …… 7134.58 5222.45

下雨 ANN 6424.89 6355.16 5774.09 …… 7135.41 4895.31

下雨 DNN 6611.35 6895.71 6161.23 …… 7125.15 5262.03

下雨 FNN 7080.65 6322.18 6152.31 …… 7246.43 4279.13

季節 ANN 6290.14 6280.15 5541.00 …… 6282.90 4862.28

季節 DNN 6641.79 6894.68 6193.08 …… 7073.74 5398.75

季節 FNN 6509.16 6370.24 6405.92 …… 6968.40 4972.81

Label FNN 下雨 DNN 下雨 DNN …… 季節 ANN DNN

單位:KW/天

表 4.5輸入變量與輸出標籤對應表

樣本數 1 2 3 545 546

氣溫(℃) 23.9 24.6 24.8 …… 23.7 23.9

全天空日射量 4.14 4.06 3.69 …… 3.49 4.28

PM 2.5 13 11 11 …… 7 5

降雨量 0.99 1.00 1.00 …… 1.02 1.03

日照時數 0 0 0 …… 0 0

平均雲量(10分量) 8.9 10 7.6 …… 8 8.7

PM 2.5累計 0.22 0.15 0.28 …… 0.33 0.32

Label FNN 下雨 DNN 下雨 DNN …… 下雨 DNN 下雨 DNN

17

伍、模擬結果

本研究使用了未經處理的資料和經過預處理的資料來實行發電量模型測試。我們

分別由北、中、南部各選擇一個發電廠進行實驗模擬,分別為大潭光電、龍井光電、

核三廠光電,分別使用 2017/1/1~2018/6/30共計 546筆的資料區間的發電資料和天氣資

料。基礎類神經定義為 ANN、二次類神經定義為 DNN、模糊類神經定義為 FNN,其

分類模擬實驗有五種(1)一般分群模擬。(2)發電量分群模擬。(3)不分群模擬結果。(4)雨

季分群模擬結果。(5)季節分群模擬結果,再配合是否去除噪點,進行模擬。

一、一般分群模擬結果

表 5.1一般分群結果彙整表

大潭光電

(RMSE)

龍井光電

(RMSE) 核三廠光電(RMSE)

2群 無去噪 205.25 3363.38 618.55

去噪 190.36 3173.64 616.73

4群 無去噪 202.09 3143.9 901.79

去噪 177.95 2856.68 684.42

6群 無去噪 179.49 3370.95 963.47

去噪 174.14 2993.33 675.01

8群 無去噪 188.97 3303.82 907.1

去噪 182.25 2974.74 665.1

如表 5.1,不管分為幾群,有經過去除噪點的樣本對於類神經訓練可以提高預測準確

率。

二、發電量分群模擬結果

表 5.2發電量分群結果彙整表

大潭光電(RMSE) 龍井光電(RMSE) 核三廠光電(RMSE)

2群 無去噪 184.77 2574.54 665.57

去噪 178.84 2443.65 589.09

4群 無去噪 141.12 1688.2 513.99

去噪 134.81 1578.49 429.38

6群 無去噪 122.49 1490.49 462.33

去噪 124.02 1368.58 318.91

8群 無去噪 125.59 1118.87 431.64

去噪 115.04 1124.61 272.64

如表 5.2,以發電量進行分群後,等同於將已知結果劃分,自然效果變好。但現實應

18

用上,需求是由輸入因子預測輸出結果,並非輸出結果反推,故不符合現實狀況。

此一結果,雖不符合實際應用,但可以當成我們研究成果所要追隨的標的。

三、不分群模擬結果

表 5.3不分群模擬實驗結果

模型 分類 大潭光電(RMSE) 龍井光電(RMSE) 核三廠光電(RMSE)

ANN 無去噪 309.28 3987.88 938.36

去噪 207.13 3208.83 705.9

DNN 無去噪 256.01 3893.51 926.13

去噪 221.09 3478.23 680.31

FNN 無去噪 266.61 3751.99 953.92

去噪 237.53 3594.42 713.82

以大潭光電為例如表 5.3,經過去除噪點的樣本確實對於類神經訓練可以提高預測準

確率。

四、雨季分群模擬結果

表 5.4雨季分群模擬實驗結果

模型 分類 大潭光電(RMSE) 龍井光電(RMSE) 核三廠光電(RMSE)

下雨 ANN 無去噪 228.86 3566 916.74

去噪 191.78 3207.93 747.48

下雨 DNN 無去噪 262.25 3924.14 950.3

去噪 223.59 3634.05 694.35

下雨 FNN 無去噪 306.34 4428.76 1046.77

去噪 308.39 3842 781.66

如表 5.4,有經過去除噪點的樣本對於類神經訓練可以提高預測準確率,雨季分群效

果優於不分類的預測效果。

五、季節分群模擬結果

表 5.5季節分群模擬實驗結果

模型 分類 大潭光電(RMSE) 龍井光電(RMSE) 核三廠光電

(RMSE)

季節 ANN 無去噪 220.38 3544.29 832

去噪 193.19 3394.47 570.14

季節 DNN 無去噪 262.91 3830.6 955.64

去噪 231.4 3477.67 723.9

季節 FNN 無去噪 347.95 4448.19 992.05

去噪 326.67 4448.19 824.53

如表 5.5,有經過去除噪點的樣本對於類神經訓練可以提高預測準確率,經過季節分

群效果同樣優於不分類的預測效果。

19

六、KNN決策最佳類神經預測模型

表 5.6 KNN混合模型 RMSE

大潭光電(RMSE) 龍井光電(RMSE) 核三廠光電(RMSE)

原始資料 309 3987 706

KNN(K/閥值) 263(141/1.5) 3168(269/2) 566(127/2.5)

KNN改善百分比 14.89% 20.54% 19.83%

因每一類神經所預測出的結果,其值不完全相同,因此需要定義出一個誤差範

圍,此閥值為用來定義誤差的倍數。差異於 1.5倍內,視為誤差!以 KNN混合模型對

各電廠的預測進行比較,顯示都有較好的效果。

陸、結論

本研究提出一個利用各種機器學習演算法提升MATLAB類神經網路模組於太陽能

光伏發電預測的準確度的方法。該方法因地制宜依照瞬息萬變的天氣變化選別適合的

類神經模型,也使用了各種機器學習的資料預處理方法,克服了使用單一類神經模型

進行預測的不足。

在實際資料集的預測應用上,我們實際訓練出出九種不同類型的類神經網路來進

行實驗模擬,並進行發電量預測,確實可以提高預測精準度。唯其預測的表現會受到

資料樣本重覆性和完整性的影響,訓練過程中會因為天氣樣本重覆性的干擾及不可預

期的天氣因素及樣本完整性,而出現無所適從的判定問題。

然而在訓練過程中,需要花費相當的資料預處理的時間成本才能進行接下來的預

測任務,其原因來自於樣本資料集的重覆性。在之後的研究裡,我們將著重於對樣本

重覆性干擾的解決,減少資料預處理的時間以增強效率。

參考文獻

王金印,2014年,太陽能預測模式與分析技術研究,行政院原子能委員會。

胡智惠,2018年,太陽能發電預測系統之研製,聖約翰科技大學,電機工程系碩士

在職專班。

葉天降、陳得松、黃康寧、謝信良,2002年,中央氣象局颱風路徑預報模式之預報

檢討及改進。氣象學報,44,31-75。

趙自偉,2012年,以 ARMA及 GM(1, 1)模型預測風力發電量之研究,臺中,朝陽

科技大學環境工程管理 研究所。

蕭子訓、黃孔良、張耀仁,2017年,太陽光電年發電量預測模型建置及策略研究,

20

臺灣能源期刊第四卷第四期第 401頁。

Zhaoxuan Li, SM Mahbobur Rahman , Rolando Vega and Bing Dong, “A Hierarchical

Approach Using Machine Learning Methods in Solar Photovoltaic Energy

Production Forecasting”, Energies 2016, 9, 55

Honglu Zhu, Weiwei Lian, Lingxing Lu , “Songyuan Dai and Yang Hu, An Improved

Forecasting Method for Photovoltaic Power Based on Adaptive BP Neural Network

with a Scrolling Time Window”, Energies 2017, 10, 1542

Lintao Yang and Honggeng Yang,” Analysis of Different Neural Networks and a New

Architecture for Short-Term Load Forecasting”, Energies 2019, 12, 1433

Masoud Sobhani, Allison Campbell, Saurabh Sangamwar, Changlin Li and Tao Hong,”

Combining Weather Stations for Electric Load Forecasting”, Energies 2019, 12, 1510

Seunghyoung Ryu, Jaekoo Noh and Hongseok Kim,” Deep neural network based demand

side short term load forecasting”, Energies 2017, 10, 3

Lingyi Han , Yuexing Peng ,Yonghui Li,Binbin Yong,Qingguo Zhou and Lei Shu,”

Enhanced Deep Networks for Short-Term and Medium-Term Load Forecasting”,

Digital Object Identifier 10.1109/ACCESS.2018.2888978

Hsu-Yung Cheng, Chih-Chang Yu,Kuo-Chang Hsu,Chi-Chang Chan,Mei-Hui Tseng and

Chih-Lung Lin,” Estimating Solar Irradiance on Tilted Surface with Arbitrary

Orientations and Tilt Angles”, Energies 2019, 12, 1427

Musaed Alhussein, Syed Irtaza Haider and Khursheed Aurangzeb,” Microgrid-Level

Energy Management Approach Based on Short-Term Forecasting of Wind Speed and

Solar Irradiance”, Energies 2019, 12, 1487

Xiaoyu Zhang, Rui Wang , Tao Zhang, Yajie Liu and Yabing Zha,” Short-Term Load

Forecasting Using a Novel Deep Learning Framework”, Energies 2018, 11, 1554