2015-07-12 95 views
0

嘿,我想知道如何在matlab中將同一圖形上的2個不同的線圖連接起來?連接2條線圖

如果這不是理想的,那麼我可以將2個數據幀結合在一起然而,我需要一種方法來告訴它在某個x點更改線圖的顏色?

我想指出的是預測銷售是在圖表上。這裏是我的代碼和圖表目前看起來像一個圖片(紅色的實際/綠色預測)

Actual and Pred Sales

這裏是鏈接到我的IPython的筆記本https://github.com/neil90/Learning_LinearReg/blob/master/Elantra%20Regression_Practice.ipynb

我的原始數據集是50點意見(小我知道),我分成訓練和測試。我的測試裝置上有.72 R2。然後,我在網上查看是否可以在數據集之後的12個月內找到自變量,然後看到我能夠(但我不確定其準確性)。然後我想用我的模型來預測銷售額。因此綠線。

+0

(1)這是MATLAB還是Python?代碼看起來不像MATLAB,但我可能是錯的。 (2)你不能只將最後一個樣本已知值添加到預測向量中嗎? – hbaderts

回答

0

也就是說總是能夠使用單個繪圖命令都在MATLAB和Python中連接兩個點,如:

P1 = df1(:,end); % last Point in The First Plot 
P2 = df2(:,1); % first Point in The Second Plot 
plot([P1(1,1) P2(1,1)],[P1(2,1) P2(2,1)]) 

這是不是一個好的做法,正如你所說的那樣,綠色圖表就是你的預測部分。在計算預測點時,爲什麼不包含更多輸入?

所以我假設你有一組數據,然後你將它分爲兩​​部分,一部分用於訓練,另一部分用於測試學習模型。

除非您有驗證部分,否則該比例應爲(70%至30%或80%至20%)。

所以在訓練數據的訓練部分訓練模型之後,應該檢查模型的誤差(它是否會收斂?)。正如我可以看到你的預測部分有一個巨大的錯誤。它甚至不能重新生成之前看到的樣本(即紅色圖上的最後一個點)。因此,首先嚐試繪製整個訓練數據的預測結果,以瞭解學習模型的準確性。我很確定你需要通過做更多的迭代或改變模型的結構來減少模型的學習錯誤。

因爲您沒有提到足夠的細節,所以大部分想法都基於這裏的假設。

+0

啊好吧,讓我澄清一下,綠色的位置不是來自數據集的分割。我創建了一個新的df,其中包含我在網上找到的獨立變量(自變量是我可以在線查看的值,即失業率/ CPI等)。然後嘗試預測新df(截圖中的test2)的銷售額。原來的銷售額達到2014年2月,我的test2 df的價值爲2014年3月至2015年2月。 – Neil

+0

請按照我的建議去做。首先訓練數據模型並報告問題中的學習錯誤。這樣我們就可以理解該算法正在收斂。其次,有時數據是如此不同,以至於沒有任何先驗知識的預測不是一個好的解決方案。 – NKN

+0

好吧,這裏是ipython筆記本https://github.com/neil90/Learning_LinearReg/blob/master/Elantra%20Regression_Practice.ipynb我有我的火車和測試數據集,我的R2在測試中是.72。 – Neil