<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # 使用 Python 7 天迷你課程進行時間序列預測 > 原文: [https://machinelearningmastery.com/time-series-forecasting-python-mini-course/](https://machinelearningmastery.com/time-series-forecasting-python-mini-course/) ### 從開發人員到 7 天的時間序列預測。 Python 是應用機器學習增長最快的平臺之一。 在這個迷你課程中,您將了解如何入門,構建準確的模型,并在 7 天內使用 Python 自信地完成預測建模時間序列預測項目。 這是一個重要且重要的帖子。您可能想要將其加入書簽。 讓我們開始吧。 ![](https://img.kancloud.cn/bc/7a/bc7a3feccf5d06153a53366e2ed54ebf_640x428.jpg) 使用 Python 7 天迷你課程進行時間序列預測 攝影: [Raquel M](https://www.flickr.com/photos/rmalinger/4302548106/) ,保留一些權利。 ## 這個迷你課程是誰? 在我們開始之前,讓我們確保您在正確的位置。 以下列表提供了有關本課程設計對象的一般指導原則。 如果你沒有完全匹配這些點,請不要驚慌,你可能只需要在一個或另一個區域刷新以跟上。 * **你是開發人員**:這是開發人員的課程。你是某種開發者。您知道如何讀寫代碼。您知道如何開發和調試程序。 * **你知道 Python** :這是 Python 人的課程。你知道 Python 編程語言,或者你是一個熟練的開發人員,你可以隨時隨地學習它。 * **你知道一些機器學習**:這是新手機器學習從業者的課程。你知道一些基本的實用機器學習,或者你可以快速搞清楚。 這個迷你課程既不是關于 Python 的教科書,也不是關于時間序列預測的教科書。 它將把你從一個了解一點機器學習的開發人員帶到一個開發人員,他可以使用 Python 生態系統獲得時間序列預測結果,這是一個不斷上升的專業機器學習平臺。 **注意**:這個迷你課程假設你有一個有效的 Python 2 或 3 SciPy 環境,至少安裝了 NumPy,Pandas,scikit-learn 和 statsmodels。 ## 迷你課程概述 這個迷你課程分為 7 課。 你可以每天完成一節課(_ 推薦 _)或者在一天內完成所有課程(_ 硬核 _)。這取決于你有空的時間和你的熱情程度。 以下 7 個課程將通過 Python 中的機器學習幫助您開始并提高工作效率: * **第 01 課**:時間序列作為監督學習。 * **第 02 課**:加載時間序列數據。 * **第 03 課**:數據可視化。 * **第 04 課**:持久性預測模型。 * **第 05 課**:自回歸預測模型。 * **第 06 課**:ARIMA 預測模型。 * **第 07 課**:Hello World 端到端項目。 每節課可能需要 60 秒或 30 分鐘。花點時間,按照自己的進度完成課程。在下面的評論中提出問題甚至發布結果。 課程期望你去學習如何做事。我會給你提示,但每節課的部分內容是強迫你學習去尋找有關時間序列的 Python 平臺的幫助(提示,我直接在這個博客上得到了所有的答案,使用搜索功能)。 我確實在早期課程中提供了更多幫助,因為我希望你建立一些自信和慣性。 #### 在評論中發布您的結果,我會為你歡呼! 掛在那里,不要放棄。 ## 第 01 課:時間序列作為監督學習 時間序列問題與傳統預測問題不同。 時間的增加為必須保留的觀測添加了一個順序,并且可以為學習算法提供額外的信息。 時間序列數據集可能如下所示: ```py Time, Observation day1, obs1 day2, obs2 day3, obs3 ``` 我們可以將這些數據重新設置為監督學習問題,并預測輸入和輸出。例如: ```py Input, Output ?, obs1 obs1, obs2 obs2, obs3 obs3, ? ``` 您可以看到重構意味著我們必須丟棄一些缺少數據的行。 一旦重新構建,我們就可以應用所有我們喜歡的學習算法,如 k-Nearest Neighbors 和 Random Forest。 如需更多幫助,請參閱帖子: * [時間序列預測作為監督學習](http://machinelearningmastery.com/time-series-forecasting-supervised-learning/) ## 課程 02:加載時間序列數據 在開發預測模型之前,必須加載并使用時間序列數據。 Pandas 提供了以 CSV 格式加載數據的工具。 在本課程中,您將下載標準時間序列數據集,將其加載到 Pandas 中并進行探索。 從 DataMarket 以 CSV 格式下載[每日女性出生數據集](https://datamarket.com/data/set/235k/daily-total-female-births-in-california-1959),并以文件名“ _daily-births.csv_ ”保存。 您可以將時間序列數據集作為 Pandas Series 加載,并在第 0 行指定標題行,如下所示: ```py from pandas import Series series = Series.from_csv('daily-births.csv', header=0) ``` 習慣于在 Python 中探索加載的時間序列數據: * 使用 _head()_ 功能打印前幾行。 * 使用 _size_ 屬性打印數據集的尺寸。 * 使用日期時間字符串查詢數據集。 * 打印觀察的摘要統計。 如需更多幫助,請參閱帖子: * [如何在 Python 中加載和探索時間序列數據](http://machinelearningmastery.com/load-explore-time-series-data-python/) ## 第 03 課:數據可視化 數據可視化是時間序列預測的重要組成部分。 隨著時間的推移觀察的線圖很受歡迎,但是您可以使用一套其他圖來了解有關您的問題的更多信息。 在本課程中,您必須下載標準時間序列數據集并創建 6 種不同類型的圖。 從 DataMarket 以 CSV 格式下載[月度洗發水銷售數據集](https://datamarket.com/data/set/22r0/sales-of-shampoo-over-a-three-year-period),并使用文件名“ _shampoo-sales.csv_ ”保存。 現在創建以下 6 種類型的圖: 1. 線圖。 2. 直方圖和密度圖。 3. 盒子和晶須地塊按年或季度。 4. 熱圖。 5. 滯后圖或散點圖。 6. 自相關圖。 下面是一個簡單的線圖的示例,可以幫助您入門: ```py from pandas import Series from matplotlib import pyplot series = Series.from_csv('shampoo-sales.csv', header=0) series.plot() pyplot.show() ``` 如需更多幫助,請參閱帖子: * [使用 Python 進行時間序列數據可視化](http://machinelearningmastery.com/time-series-data-visualization-with-python/) ## 課 04:持久性預測模型 建立基線預測非常重要。 您可以做的最簡單的預測是使用當前觀測值(t)來預測下一時間步(t + 1)的觀測值。 這稱為樸素預測或持久性預測,可能是某些時間序列預測問題的最佳模型。 在本課程中,您將對標準時間序列預測問題進行持久性預測。 從 DataMarket 以 CSV 格式下載[每日女性出生數據集](https://datamarket.com/data/set/235k/daily-total-female-births-in-california-1959),并以文件名“ _daily-births.csv_ ”保存。 您可以將持久性預測實現為單行函數,如下所示: ```py # persistence model def model_persistence(x): return x ``` 編寫代碼以加載數據集并使用持久性預測對數據集中的每個時間步進行預測。請注意,您將無法對數據集中的第一個步驟進行預測,因為之前沒有使用過的觀察。 將所有預測存儲在列表中。與實際觀察結果相比,您可以計算預測的均方根誤差(RMSE),如下所示: ```py from sklearn.metrics import mean_squared_error from math import sqrt predictions = [] actual = series.values[1:] rmse = sqrt(mean_squared_error(actual, predictions)) ``` 如需更多幫助,請參閱帖子: * [如何使用 Python 進行時間序列預測的基線預測](http://machinelearningmastery.com/persistence-time-series-forecasting-with-python/) ## 第 05 課:自回歸預測模型 自回歸意味著開發一種線性模型,該模型使用先前時間步驟的觀察來預測未來時間步驟的觀察結果(“自動”意味著古希臘語中的自我)。 自回歸是一種快速而有效的時間序列預測方法。 statsmodels Python 庫在 [AR 類](http://statsmodels.sourceforge.net/stable/generated/statsmodels.tsa.ar_model.AR.html)中提供自動回歸模型。 在本課程中,您將為標準時間序列數據集開發自回歸預測模型。 從 DataMarket 以 CSV 格式下載[月度洗發水銷售數據集](https://datamarket.com/data/set/22r0/sales-of-shampoo-over-a-three-year-period),并使用文件名“ _shampoo-sales.csv_ ”保存。 您可以按如下方式安裝 AR 模型: ```py model = AR(dataset) model_fit = model.fit() ``` 您可以使用擬合 AR 模型預測下一次樣本觀察,如下所示: ```py prediction = model_fit.predict(start=len(dataset), end=len(dataset)) ``` 您可能希望通過在半數數據集上擬合模型并預測系列的后半部分中的一個或多個來進行實驗,然后將預測與實際觀察結果進行比較。 如需更多幫助,請參閱帖子: * [使用 Python 進行時間序列預測的自回歸模型](http://machinelearningmastery.com/autoregression-models-time-series-forecasting-python/) ## 第 06 課:ARIMA 預測模型 ARIMA 是時間序列預測的經典線性模型。 它結合了自回歸模型(AR),差異去除趨勢和季節性,稱為積分(I)和移動平均模型(MA),它是一個舊名稱,用于預測誤差的模型,用于糾正預測。 statsmodels Python 庫提供了 [ARIMA 類](http://statsmodels.sourceforge.net/stable/generated/statsmodels.tsa.arima_model.ARIMA.html)。 在本課程中,您將為標準時間序列數據集開發 ARIMA 模型。 從 DataMarket 以 CSV 格式下載[月度洗發水銷售數據集](https://datamarket.com/data/set/22r0/sales-of-shampoo-over-a-three-year-period),并使用文件名“ _shampoo-sales.csv_ ”保存。 ARIMA 類需要一個順序(p,d,q),其由 AR 滯后的三個參數 p,d 和 q 組成,差異數和 MA 滯后。 您可以按如下方式擬合 ARIMA 模型: ```py model = ARIMA(dataset, order=(0,1,0)) model_fit = model.fit() ``` 您可以為適合的 ARIMA 模型進行一步式樣本外預測,如下所示: ```py outcome = model_fit.forecast()[0] ``` 洗發水數據集有一個趨勢所以我建議 d 值為 1.嘗試不同的 p 和 q 值并評估結果模型的預測。 如需更多幫助,請參閱帖子: * [如何使用 Python 創建用于時間序列預測的 ARIMA 模型](http://machinelearningmastery.com/arima-for-time-series-forecasting-with-python/) ## 第 07 課:Hello World 端到端項目 您現在可以使用工具來解決時間序列問題并開發一個簡單的預測模型。 在本課程中,您將使用從所有先前課程中學到的技能來處理新的時間序列預測問題。 從 DataMarket 以 CSV 格式下載[季度 S&amp; P 500 指數,1900-1996 數據集](https://datamarket.com/data/set/22rk/quarterly-sp-500-index-1900-1996),并以文件名“ _sp500.csv_ ”保存。 拆分數據,可能會將最后 4 或 8 個季度提取到單獨的文件中。解決問題并為缺失的數據制定預測,包括: 1. 加載并瀏覽數據集。 2. 可視化數據集。 3. 開發持久性模型。 4. 開發自回歸模型。 5. 開發 ARIMA 模型。 6. 可視化預測并總結預測誤差。 有關完成項目的示例,請參閱帖子: * [Python 時間序列預測研究:法國香檳月銷量[H??TG1]](http://machinelearningmastery.com/time-series-forecast-study-python-monthly-sales-french-champagne/) ## 結束! (看你有多遠) 你做到了。做得好! 花點時間回顧一下你到底有多遠。 你發現: * 如何將時間序列預測問題構建為監督學習。 * 如何使用 Pandas 加載和探索時間序列數據。 * 如何以多種不同方式繪制和可視化時間序列數據。 * 如何開發一種稱為持久性模型作為基線的樸素預測。 * 如何使用滯后觀測開發自回歸預測模型。 * 如何開發 ARIMA 模型,包括自回歸,積分和移動平均元素。 * 如何將所有這些元素組合到一個端到端項目中。 不要輕視這一點,你在很短的時間內走了很長的路。 這只是您使用 Python 進行時間序列預測之旅的開始。繼續練習和發展你的技能。 ## 摘要 **你是如何使用迷你課程的?** 你喜歡這個迷你課嗎? 你有任何問題嗎?有沒有任何問題? 讓我知道。在下面發表評論。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看