電力需求預測挑戰賽筆記 Taks1 跑通baseline

#AI夏令營 #Datawhale #夏令營

賽題

一句話介紹賽題任務可以這樣理解賽題:

【訓練時序預測模型助力電力需求預測】

電力需求的準確預測對于電網的穩定運行、能源的有效管理以及可再生能源的整合至關重要。

賽題任務

給定多個房屋對應電力消耗歷史 N 天的相關序列數據等信息,預測房屋對應電力的消耗。

賽題數據簡介

賽題數據由訓練集和測試集組成,為了保證比賽的公平性,將每日日期進行脫敏,用 1-N 進行標識。

即 1 為數據集最近一天,其中 1-10 為測試集數據。

數據集由字段 id(房屋 id)、 dt(日標識)、type(房屋類型)、target(實際電力消耗)組成。

下面進入 baseline 代碼

# 1. 導入需要用到的相關庫
# 導入 pandas 庫,用于數據處理和分析
import pandas as pd
# 導入 numpy 庫,用于科學計算和多維數組操作
import numpy as np# 2. 讀取訓練集和測試集
# 使用 read_csv() 函數從文件中讀取訓練集數據,文件名為 'train.csv'
train = pd.read_csv('./data/data283931/train.csv')
# 使用 read_csv() 函數從文件中讀取測試集數據,文件名為 'train.csv'
test = pd.read_csv('./data/data283931/test.csv')# 3. 計算訓練數據最近11-20單位時間內對應id的目標均值
target_mean = train[train['dt']<=20].groupby(['id'])['target'].mean().reset_index()# 4. 將target_mean作為測試集結果進行合并
test = test.merge(target_mean, on=['id'], how='left')# 5. 保存結果文件到本地
test[['id','dt','target']].to_csv('submit.csv', index=None)

Step1:報名賽事!(點擊即可跳轉)

賽事鏈接:2024 iFLYTEK AI開發者大賽-訊飛開放平臺2024 iFLYTEK AI開發者大賽-訊飛開放平臺icon-default.png?t=N7T8https://challenge.xfyun.cn/h5/detail?type=electricity-demand&ch=dw24_uGS8Gs

Step2:5 分鐘體驗一站式 baseline!(點擊即可跳轉)

項目鏈接:從零入門機器學習競賽-Baseline - 飛槳AI Studio星河社區- 飛槳AI Studio星河社區icon-default.png?t=N7T8https://aistudio.baidu.com/projectdetail/8151133

跑通baseline

根據task1跑通baseline

注冊賬號

直接注冊或登錄百度賬號,etc

fork 項目

從零入門機器學習競賽-Baseline - 飛槳AI Studio星河社區- 飛槳AI Studio星河社區icon-default.png?t=N7T8https://aistudio.baidu.com/projectdetail/8151133

啟動項目?

選擇運行環境,并點擊確定,沒有特殊要求就默認的基礎版就可以了

等待片刻,等待在線項目啟動

運行項目代碼

點擊 運行全部Cell

程序運行完生成文件 submit.csv

這個文件就最終提交的文件。

提交并獲取分數

1返回分數373.89846submit.csvbaseline1gszwJaV2024-07-11 16:57:27

知識點:

常見的時間序列場景有:

  1. 金融領域:股票價格預測、利率變動、匯率預測等。

  2. 氣象領域:溫度、降水量、風速等氣候指標的預測。

  3. 銷售預測:產品或服務的未來銷售額預測。

  4. 庫存管理:預測庫存需求,優化庫存水平。

  5. 能源領域:電力需求預測、石油價格預測等。

  6. 醫療領域:疾病爆發趨勢預測、醫療資源需求預測。

時間序列問題的數據往往有如下特點:

  1. 時間依賴性:數據點之間存在時間上的連續性和依賴性。

  2. 非平穩性:數據的統計特性(如均值、方差)隨時間變化。

  3. 季節性:數據表現出周期性的模式,如年度、月度或周度。

  4. 趨勢:數據隨時間推移呈現長期上升或下降的趨勢。

  5. 周期性:數據可能存在非固定周期的波動。

  6. 機波動:數據可能受到隨機事件的影響,表現出不確定性。

時間序列分析在很多領域中具有重要的應用價值。通過對時間序列數據分析和建模,可以得到對未來趨勢的預測和預測誤差的估計,為決策提供依據。

時間序列預測問題可以通過多種建模方法來解決,包括傳統的時間序列模型機器學習模型深度學習模型

傳統時間序列模型

用于分析和預測時間序列數據的統計模型。

它假設數據點之間存在一定的時間關系,即后一個數據點的值可以根據前一個數據點的值和其他相關因素預測得出。

常見的時間序列模型包括

  • AR模型(自回歸模型)
  • MA模型(滑動平均模型)
  • ARMA模型(自回歸滑動平均模型)
  • ARIMA模型(差分自回歸滑動平均模型)
  • SARIMA模型(季節性差分自回歸滑動平均模型)等。

這些模型基于不同的假設和參數設置,可以根據數據的特點選擇合適的模型進行建模和預測。

時間序列模型可以用于不同領域的數據分析和預測,如經濟學中的金融時間序列分析、氣象學中的氣象預測、生態學中的生態系統變化預測等。它們可以幫助我們理解數據的時間規律,發現趨勢和周期性變化,以及預測未來的走勢。

機器學習模型

在時間序列預測中,機器學習模型可以通過將時間序列數據轉化為特征和目標變量的組合來進行建模和預測

以下是一些常用的機器學習時間序列模型:

  1. 自回歸模型(AR):自回歸模型基于時間序列數據的歷史值來預測未來值。AR模型假設未來值與過去的若干個值有線性相關性。
  2. 移動平均模型(MA):移動平均模型基于時間序列數據的過去誤差來預測未來值。MA模型假設未來值與過去的若干個誤差有相關性。
  3. 自回歸移動平均模型(ARMA):ARMA模型是AR模型和MA模型的組合。它結合了過去的時間序列值和誤差來進行預測。
  4. 差分自回歸移動平均模型(ARIMA):ARIMA模型在ARMA模型的基礎上增加了對時間序列數據進行差分的步驟,用于處理非平穩數據。
  5. 季節性ARIMA模型(SARIMA):SARIMA模型是ARIMA模型在考慮季節性因素的基礎上進行建模的一種擴展模型。
  6. 支持向量機(SVM):支持向量機是一種常用的機器學習模型,在時間序列預測中可以用于線性回歸、非線性回歸和分類問題。
  7. 隨機森林(Random Forest):隨機森林是一種集成學習模型,通過多個決策樹的組合來進行預測。在時間序列預測中,可以利用隨機森林進行回歸和分類問題的預測

深度學習模型

深度學習模型在時間序列預測問題上表現出色,尤其是在處理大規模數據和復雜模式時。

以下是一些常用的深度學習時間序列模型:

  1. 循環神經網絡(RNN):RNN是一種能夠處理序列數據的神經網絡。它具有記憶能力,可以在處理每個時間步時將之前的信息傳遞給下一個時間步,從而捕捉到時間序列的依賴關系。
  2. 長短期記憶網絡(LSTM):LSTM是一種RNN的變體,通過引入“門控”機制來解決傳統RNN中的梯度消失和梯度爆炸問題。LSTM對于長期依賴關系的建模能力更強,適用于處理長時間序列數據。
  3. 門控循環單元(GRU):GRU也是一種RNN的變體,類似于LSTM,它通過引入“門控”機制來記憶和更新信息。GRU相對于LSTM具有更簡單的結構,參數量更小,計算效率更高。
  4. 卷積神經網絡(CNN):CNN在處理時間序列數據時常用于提取局部特征。通過卷積和池化操作,CNN可以捕捉時間序列中的局部模式,并提取有用的特征,用于預測未來值或分類問題。
  5. 注意力機制(Attention):注意力機制在深度學習中很有用,尤其是在處理長時間序列數據時。它可以將模型的注意力集中在序列中最重要的部分,提高預測的準確性。

這些深度學習時間序列模型具有強大的建模能力,能夠處理復雜的時間序列數據,但同時也需要大量的訓練數據和計算資源。

各種模型之間的對比

模型類型特點適用場景
傳統時間序列模型基于統計分析的方法,對時間序列數據的基本特性進行建模,如自相關性、季節性等

非常適合處理具有明顯的趨勢和季節性的數據。

對于相對簡單的時間序列數據,建模和預測效果較好。

例如AR、MA、ARIMA、SARIMA模型

機器學習模型基于機器學習算法,通過對時間序列數據的樣本特征進行訓練建模,學習數據的模式和規律

適用于數據較為復雜、特征較多的時間序列問題。

需要手動提取和選擇合適的特征。

常用的機器學習模型包括線性回歸、決策樹、隨機森林、支持向量機等

深度學習模型基于神經網絡的模型,通過多層次的神經網絡結構進行特征提取和模式學習

適用于大規模數據、復雜特征的時間序列預測問題。

自動學習數據中的特征和模式,無需手動提取

常見的深度學習模型包括循環神經網絡(RNN)、長短時記憶網絡(LSTM)、卷積神經網絡(CNN)等

  • 如果數據具有明顯的趨勢和季節性,且相對簡單,可以使用傳統時間序列模型進行建模和預測。
  • 如果數據較為復雜,特征較多,可以考慮使用機器學習模型進行建模。
  • 對于大規模數據、復雜特征和自動學習特征的需求,可以考慮使用深度學習模型。

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

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

相關文章

拓撲排序(算法篇)

算法之拓撲排序 拓撲排序 概念&#xff1a; 拓撲排序是對有向無圈圖的頂點的一種排序。排序不必是唯一的&#xff0c;任何合理的排序都是可以的。具體做法是&#xff1a;先找出任意一個沒有入邊的頂點v(就是沒有其他頂點指向的頂點)&#xff0c;將頂點v放入隊列&#xff0c;…

element-plus el-table點擊當前行和劃過展示鼠標

在 Element Plus 的 el-table 組件中&#xff0c;設置滑過行時鼠標的樣式可以通過 CSS 來實現。你可以使用 CSS 的 cursor 屬性來定義鼠標懸停時的樣式。以下是一個簡單的例子&#xff1a; 首先&#xff0c;在你的 Vue 組件的 .el-table .el-table__row:hover {cursor: poin…

09.AOP-尚硅谷Spring零基礎入門到進階,一套搞定spring6全套視頻教程(源碼級講解)

現有代碼缺陷 針對帶日志功能的實現類&#xff0c;我們發現有如下缺陷&#xff1a; 對核心業務功能有干擾&#xff0c;導致程序員在開發核心業務功能時分散了精力附加功能分散在各個業務功能方法中&#xff0c;不利于統一維護 解決思路 解決核心&#xff1a;解耦。把附加功能從…

glm-4 聯網搜索 api 測試

今天測試了一下 glm-4 的聯網搜索 web_search tool 調用&#xff0c;發現了 web_search 的網頁檢索返回結果中幾個比較詭異的事情&#xff0c;特此記錄&#xff1a; 有些檢索結果沒有 icon、link、media 字段&#xff0c;但從內容上看確實是聯網搜索出來的結果&#xff0c;不知…

從零開始讀RocketMq源碼(三)Broker存儲Message流程解析

目錄 前言 準備 消息載體CommitLog 文件持久化位置 源碼解析 broker消息對象MessageExtBrokerInner 異步存儲message CommitLog的真相 創建MappedFile文件 加入異步刷盤隊列 Message異步存儲MappedByteBuffer 總結 前言 在面試中我們經常會聽到這樣的回答&#x…

國產化趨勢下源代碼數據防泄密的信創沙盒的方案分享

隨著國產化的大力推進&#xff0c;越來越多的企事業單位在逐步替換Windows、Linux等操作系統的使用。那么什是國產化了&#xff1f;國產化是指在產品或服務中采用國內自主研發的技術和標注&#xff0c;替代過去依賴的他國的產品和服務&#xff0c;國產化又被稱之為“信創”&…

GitLab CI/CD實現項目自動化部署

1 GitLab CI/CD介紹 GitLab CI/CD 是 GitLab 中集成的一套用于軟件開發的持續集成&#xff08;Continuous Integration&#xff09;、持續交付&#xff08;Continuous Delivery&#xff09;和持續部署&#xff08;Continuous Deployment&#xff09;工具。這套系統允許開發團隊…

vue里實現點擊按鈕回到頁面頂部功能,博客必備!

效果 步驟 1-標簽結構 動態綁定樣式style&#xff0c;監聽點擊事件&#xff0c;后續控制opacity透明度。和滾動距離 <div class"toTop" :style"dynamicStyles" click"toTop"><!--<i class"fa fa-arrow-up"></i>…

Django ORM中的F 對象

F 對象非常強大&#xff0c;可以在查詢和更新操作中進行復雜的字段間運算。 假設我們有一個包含商品信息的模型 Product&#xff1a; from django.db import modelsclass Product(models.Model):name models.CharField(max_length100)price models.DecimalField(max_digits…

MySQL向自增列插入0失敗問題

問題 在一次上線時&#xff0c;發現通過腳本添加的狀態表中&#xff0c;待提交的狀態不正確&#xff0c;本來應該是0&#xff0c;線上是101。 原因 默認情況下&#xff0c;MySQL對應自增列&#xff0c;認為0和null等價&#xff08;因為mysql認為0不是最佳實踐不推薦使用&…

超簡單的通配證書簽發工具,免費,無需安裝任何插件到本地

常見的acme.sh 或者 lego等工具需要配置&#xff0c;安裝不靈活&#xff0c;續簽需要配置計劃任務&#xff0c;簽發單域名證書或者通配證書需要不同的指令和配置&#xff0c;繁瑣&#xff0c;如果自己程序想要對接簽發證書的api有的不支持&#xff0c;有的用起來繁瑣。 最近發…

[手機Linux PostmarketOS]三, Alpine Linux命令使用

Alpine Linux 一些常用的指令&#xff1a; 添加國內源下載鏈接&#xff1a; 編譯以下文件&#xff0c;添加鏈接進去&#xff1a; sudo vi /etc/apk/repositories##清華源&#xff1a; https://mirror.tuna.tsinghua.edu.cn/alpine/latest-stable/main https://mirror.tuna.tsi…

【VIVADO SDK調試遇到DataAbortHandler】

問題 SDK調試遇到DataAbortHandler問題。 運行后不顯示結果&#xff0c;debug模式下發現進入DataAbortHandler異常函數。程序中存在大數組。 原因:SDK默認的堆棧為1024bytes,需要將堆棧調大。 修改方法&#xff1a; 解決:對application中src下的lscript.ld雙擊&#xff0c;…

android 添加一個水平線

在Android中&#xff0c;添加一個水平線通常可以通過幾種方式實現&#xff0c;最常見的是使用View組件或者自定義的Drawable。下面是一個簡單的例子&#xff0c;展示如何在布局文件中添加一個水平線&#xff1a; 使用View組件 在你的布局XML文件中&#xff0c;你可以添加一個…

Linux 程序卡死的特殊處理

一、前言 Linux環境。 我們在日常編寫的程序中&#xff0c;可能會出現一些細節問題&#xff0c;導致程序卡死&#xff0c;即程序沒法正常運行&#xff0c;界面卡住&#xff0c;也不會閃退... 當這種問題出現在客戶現場&#xff0c;那就是大問題了。。。 當我們暫時還無法排…

Python如何調用C++

ctypes 有以下優點: Python內建&#xff0c;不需要單獨安裝Python可以直接調用C/C 動態鏈接庫(.dll 或 .so)在Python一側&#xff0c;不需要了解 c/c dll 內部的工作方式提供了 C/C 數據類型與Python類型的相互映射&#xff0c;以及轉換&#xff0c;包括指針類型。 在使用cty…

如何定量選擇孔銷基準?-DTAS來幫你!

在當今快速發展的工程領域&#xff0c;公差仿真的作用日漸重要&#xff0c;在公差仿真中&#xff0c;基準體系的選擇對于最終結果更是至關重要。基準體系不同可能導致仿真過程中的參數計算、誤差分析以及最終的工程設計都有所不同。基準體系作為評估和比較的參照&#xff0c;直…

Suricata引擎二次開發之命中規則定位

二開背景 suricata是一款高性能的開源網絡入侵檢測防御引擎&#xff0c;旨在檢測、預防和應對網絡中的惡意活動和攻擊。suricata引擎使用多線程技術&#xff0c;能夠快速、準確地分析網絡流量并識別潛在的安全威脅&#xff0c;是眾多IDS和IPS廠商的底層規則檢測模塊。 前段時間…

強制升級最新系統,微軟全面淘汰Win10和部分11用戶

說出來可能不信&#xff0c;距離 Windows 11 正式發布已過去整整三年時間&#xff0c;按理說現在怎么也得人均 Win 11 水平了吧&#xff1f; 然而事實卻是&#xff0c;三年時間過去 Win 11 占有率僅僅突破到 29%&#xff0c;也就跳起來摸 Win 10 屁股的程度。 2024 年 6 月 Wi…

【Linux】磁盤性能壓測-FIO工具

一、FIO工具介紹 fio&#xff08;Flexible I/O Tester&#xff09;是一個用于評估計算機系統中 I/O 性能的強大工具。 官網&#xff1a;fio - fio - Flexible IO Tester 注意事項&#xff01; 1、不要指定文件系統名稱&#xff08;如/dev/mapper/centos-root)&#xff0c;避…