聚劃算!三個模型對比預測!CNN-GRU、GRU、CNN三模型多變量時序光伏功率預測

聚劃算!三個模型對比預測!CNN-GRU、GRU、CNN三模型多變量時序光伏功率預測

目錄

    • 聚劃算!三個模型對比預測!CNN-GRU、GRU、CNN三模型多變量時序光伏功率預測
      • 預測效果
      • 基本介紹
      • 程序設計
      • 參考資料

預測效果

在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

在這里插入圖片描述
在這里插入圖片描述

基本介紹

CNN-GRU、GRU、CNN三模型多變量時序光伏功率預測 (Matlab2020b 多輸入單輸出)

1.程序已經調試好,替換數據集后,僅運行一個main即可運行,數據格式為excel!!!

2.CNN-GRU、GRU、CNN三模型多變量時序光伏功率預測 (Matlab2023b 多輸入單輸出),考慮歷史特征的影響。

3.運行環境要求MATLAB版本為2020b及其以上。

4.評價指標包括:R2、MAE、MSE、RPD、RMSE、MAPE等,圖很多,符合您的需要代碼中文注釋清晰,質量極高。

代碼中文注釋清晰,質量極高,贈送測試數據集,可以直接運行源程序。替換你的數據即可用 適合新手小白
在這里插入圖片描述

程序設計

  • 完整代碼私信回復J聚劃算!三個經典模型光伏功率預測!CNN-GRU、GRU、CNN三模型多變量時序光伏功率預測
%%  清空環境變量
warning off             % 關閉報警信息
close all               % 關閉開啟的圖窗
clear                   % 清空變量
clc                     % 清空命令行%%  導入數據
result = xlsread('數據集.xlsx');%%  數據分析
num_samples = length(result);  % 樣本個數
kim = 2;                       % 延時步長(前面多行歷史數據作為自變量)
zim =  1;                      % 跨zim個時間點進行預測
nim = size(result, 2) - 1;     % 原始數據的特征是數目%%  劃分數據集
for i = 1: num_samples - kim - zim + 1res(i, :) = [reshape(result(i: i + kim - 1 + zim, 1: end - 1)', 1, ...(kim + zim) * nim), result(i + kim + zim - 1, end)];
end%%  數據集分析
outdim = 1;                                  % 最后一列為輸出
num_size = 0.7;                              % 訓練集占數據集比例
num_train_s = round(num_size * num_samples); % 訓練集樣本個數
f_ = size(res, 2) - outdim;                  % 輸入特征長度%%  劃分訓練集和測試集
P_train = res(1: num_train_s, 1: f_)';
T_train = res(1: num_train_s, f_ + 1: end)';
M = size(P_train, 2);P_test = res(num_train_s + 1: end, 1: f_)';
T_test = res(num_train_s + 1: end, f_ + 1: end)';
N = size(P_test, 2);%%  數據歸一化
[p_train, ps_input] = mapminmax(P_train, -1, 1);%將訓練集和測試集的數據調整到01之間
p_test = mapminmax('apply', P_test, ps_input);[t_train, ps_output] = mapminmax(T_train, -1, 1);% 對測試集數據做歸一化
t_test = mapminmax('apply', T_test, ps_output);%%  數據平鋪
%   將數據平鋪成1維數據只是一種處理方式
%   也可以平鋪成2維數據,以及3維數據,需要修改對應模型結構
%   但是應該始終和輸入層數據結構保持一致
p_train =  double(reshape(p_train, f_, 1, 1, M));
p_test  =  double(reshape(p_test , f_, 1, 1, N));
t_train =  double(t_train)';
t_test  =  double(t_test )';%%  數據格式轉換
for i = 1 : MLp_train{i, 1} = p_train(:, :, 1, i);
endfor i = 1 : NLp_test{i, 1}  = p_test( :, :, 1, i);
end

參考資料

[1] https://blog.csdn.net/kjm13182345320/article/details/128577926?spm=1001.2014.3001.5501
[2] https://blog.csdn.net/kjm13182345320/article/details/128573597?spm=1001.2014.3001.5501

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/72190.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/72190.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/72190.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C# 的 ManualResetEvent(線程同步操作) 類詳解

C# 的 ManualResetEvent 類詳解 作用 ManualResetEvent 是用于線程同步操作的類,允許一個或多個線程等待特定信號,以協調多個線程的執行順序。它通過事件通知機制實現,確保線程在收到信號前保持阻塞,直到其他線程顯式發出信號。…

小白學習:提示工程(什么是prompt)

課程鏈接 https://www.bilibili.com/video/BV1PX9iYQEry/?spm_id_from333.337.search-card.all.click 一 什么是提示工程 【提示工程】也叫【指令工程】 prompt就是給大模型發的指令,如“給我講個笑話” 懂得提示工程原理會帶來什么優勢 懂得原理 為什么有的指…

Docker Compose 之詳解(Detailed Explanation of Docker Compose)

Docker Compose 之詳解 當容器數量逐漸增多,你是否感到手忙腳亂?面對復雜的部署場景,是時候祭出神器Docker Compose了!它能幫你優雅地管理多容器應用,一鍵啟動、停止所有服務,不再為復雜的手動操作焦頭爛額…

C語言 —— 此去經年夢浪蕩魂音 - 深入理解指針(卷一)

目錄 1. 內存和地址 2. 指針變量和地址 2.1 取地址操作符(&) 2.2 指針變量 2.3 解引用操作符 (*) 3. 指針的解引用 3.1 指針 - 整數 3.2 void* 指針 4. const修飾指針 4.1 const修飾變量 4.2 const修飾指針變量 5…

【AI】從頭到腳詳解如何創建部署Azure Web App的OpenAI項目

【AI】從頭到腳詳解如何創建部署Azure Web App的OpenAI項目 在Azure Web應用上,您可以使用Python的OpenAI包方便快捷地調用官方API,上傳您的訓練數據,并利用他們的算法進行處理。本教程提供了一個逐步指南,幫助您在Azure Web應用上部署您的OpenAI項目,涵蓋了從資源設置到…

機器視覺工程師紅外相機的選擇:紅外長波工業相機和短波紅外工業相機玄機大總結

紅外長波(LWIR)和短波(SWIR)工業相機在原理、應用場景和技術特點上有顯著差異。以下是它們的對比分析: 1. 波長范圍與成像原理 2. 技術特點 3. 典型應用場景 4. 優缺點對比 LWIR優勢: 無需光照,適用于完全黑暗環境。 直接反映物體溫度分布。 對煙霧、灰塵穿透能力強。…

uni-app學習筆記——自定義模板

一、流程 1.這是一個硬性的流程,只要按照如此程序化就可以實現 二、步驟 1.第一步 2.第二步 3.第三步 4.每一次新建頁面,都如第二步一樣;可以選擇自定義的模版(vue3Setup——這是我自己的模版),第二步的…

DeepSeek模型本地化部署方案及Python實現

DeepSeek實在是太火了,雖然經過擴容和調整,但反應依舊不穩定,甚至小圓圈轉半天最后卻提示“服務器繁忙,請稍后再試。” 故此,本文通過講解在本地部署 DeepSeek并配合python代碼實現,讓你零成本搭建自己的AI…

Vue3計算屬性深度解析:經典場景與Vue2對比

一、計算屬性的核心價值 計算屬性(Computed Properties)是Vue響應式系統的核心特性之一,它通過依賴追蹤和緩存機制優雅地解決模板中復雜邏輯的問題。當我們需要基于現有響應式數據進行派生計算時,計算屬性總能保持高效的性能表現…

python-leetcode-刪除鏈表的倒數第 N 個結點

LCR 021. 刪除鏈表的倒數第 N 個結點 - 力扣(LeetCode) 可以使用雙指針方法來解決這個問題,這樣可以在一次遍歷內完成刪除操作,從而達到 O(n) 的時間復雜度。以下是 Python 代碼實現: 解題思路: 初始化快…

vue2的webpack(vue.config.js) 怎么使用請求轉發 devServer.proxy

首先用 express 搭建后端服務器,注意使用中間件解析json格式的請求體,才會獲取到 post 參數 app.use(express.json()); app.js const express require(express) const app express() app.use(express.json()); const port 3000app.post(/api/vue2, …

Linux:基本指令與內涵理解

1.文件操作指令 1.1 ls ls指令用于查看指定層級文件夾下的文件或文件夾 基本格式:ls (選項) (查看層級) 其中選項處不寫就默認是顯示文件名,查看層級默認是當前層級 選項1: -l 作用:將查找文件的詳細信息顯示出來 我們…

SpaceSync智能排班:重構未來辦公空間的神經中樞

文心智能體平臺可免費使用DeepSeek 滿血版啦,使用DeepSeek模型創建并提交智能體,即有機會瓜分萬元獎金!有這等好事還不快沖! 文心智能體官網:文心智能體平臺AgentBuilder | 想象即現實 本片文章為作者參加文心智能體平…

flutter dio庫 源碼賞析

1. factory函數 //調用factory構造方法后,實際返回的是Dio的子類 Dio dio Dio();abstract class Dio {factory Dio([BaseOptions? options]) > createDio(options); } 2. CancelToken 作用:取消操作 CancelToken cancelToken CancelToken();//監聽取消 ca…

RGV調度算法

1、基于時間窗 https://wenku.baidu.com/view/470e9fd8b4360b4c2e3f5727a5e9856a57122693.html?_wkts_1741880736197&bdQuery%E7%8E%AF%E7%A9%BF%E8%B0%83%E5%BA%A6%E7%AE%97%E6%B3%95 2.2019年MathorCup高校數學建模挑戰賽B題 2019-mathorcupB題-環形穿梭機調度模型&a…

基于CATIA VBA與Python的自動化音樂生成技術對比研究

在工程軟件二次開發領域,CATIA 也可以許多另類的玩法。通過CATIA自帶的VBA可以演奏歌曲,但實際效果往往差強人意。為了進一步優化實際演奏效果,本文以自動生成林宥嘉《說謊》鋼琴前奏旋律為案例,探討兩種語言在多媒體控制領域的技…

最大數位置(信息學奧賽一本通-2038)

【題目描述】 輸入n個整數,存放在數組a[1]至a[n]中,輸出最大數所在位置(n≤1000)。 【輸入】 第一行,數的個數n; 第二行,n個正整數,每個數在232?1之內。 【輸出】 最大數所在位置。 【輸入樣例】 5 67 43 90 78 32 【輸出樣例】 …

【AIGC】OpenAI 集成 Langchain 操作實戰使用詳解

目錄 一、前言 二、前置準備 2.1 安裝 Langchain必須的依賴 2.1.1 python環境 2.1.2 langchain openai 環境 2.1.3 準備一個apikey 2.1.4 langchain 核心組件 三、Langchain 各組件使用 3.1 Chat models組件 3.1.1 Invocation 使用 3.1.1.1 結果解析 3.2 提示詞模板…

【C#學習筆記04】深入掌握C語言格式化輸出

引言 ??printf()??函數不僅可以將數據輸出到控制臺,還可以通過格式化字符串靈活地控制輸出的格式。??printf()???函數的使用規則,包括標志說明、字段寬度、轉換精度、長度修飾、轉換說明、轉義字符和返回結果等內容。 1. ??printf()??函數…

python-leetcode-定長子串中元音的最大數目

1456. 定長子串中元音的最大數目 - 力扣(LeetCode) 可以使用 滑動窗口 方法來解決這個問題。步驟如下: 初始化:計算前 k 個字符中元音字母的個數,作為初始窗口的值。滑動窗口:遍歷字符串,每次右…