2010-04-28 200 views
1

我有一個名爲today_stats的MySql表。它有Id,日期和點擊。我正在嘗試創建一個腳本來獲取這些值,並嘗試預測未來7天的點擊次數。我如何在PHP中預測它?PHP中的曲線擬合

回答

0

首先連接到數據庫,然後在x天之前檢索數據。 然後,您可以嘗試爲前幾天製作出最適合的線條,然後使用該線條並延伸到未來。但取決於應用,一條最適合的線路不會足夠好。

0

一個簡單的方法是按天分組並平均每個值。這可以全部在SQL中完成

1

這與PHP有關,而與數學更相關。計算此類最簡單的方法是在過去的X周內的某個特定日期獲取平均流量。您不想拉取所有數據,因爲時尚和頁面內容發生變化。

因此,例如,獲取上個月每天的平均流量。通過將實際流量與實際流量進行比較,您可以瞭解您的估算值的精確程度。如果他們不準確,那麼嘗試玩這個計算(例如,改變你抽樣的時間段)。或者,您的估計可能是好消息:您的網站剛剛在紐約時報的首頁上刊登了!

乾杯。擬合這裏介紹

+0

所以,我必須得到平均水平,不是嗎。但是如果可能的話,我想在Excel中表示圖形。我怎樣才能獲得價值,然後我該怎麼做?我不太瞭解數學。 – Francesc 2010-04-28 17:06:07

+0

平均值是所有的值加在一起,除以你的平均值的數量。例如,如果你的數據集是6,7和8,你應該這樣做:(6 + 7 + 8)/ 3。如果你的所有值都在一個數組中,那麼把數組中的所有項目加在一起,由數組的長度(sizeof($ array))。 – 2010-04-28 23:58:59

2
+0

這個答案儘可能的接近你沒有一些潛在的想法,你期望看到什麼樣的趨勢。如果不知道哪些功能是候選功能,您將無法適應數據的任何功能。看到這個相關的問題,如果一個對數函數可能會令你滿意:http://stackoverflow.com/questions/2768885/how-can-i-calculate-a-trend-line-in-php – Geoff 2010-05-08 00:57:28

1

您正在尋找的是所謂的算法Least Squares

你需要做的是儘量減少從求和的距離是什麼每一點指向您將用來預測未來值的函數。對於總是正的距離,不是絕對值被計算,而是值的平方。差異的平方和必須是最小的。通過定義組成該總和的函數並導出它,求解所得到的方程,就可以找到函數的參數,它將與過去的統計值相近。

像Excel這樣的程序(也許OpenOffice Spreadsheet)也有一個內置的函數,可以爲你使用多項式函數來定義相關性。

基本上你應該把Time作爲獨立的價值,其他所有的價值都如上所述。

這就是所謂的計量經濟學,因爲它廣泛應用於經濟學。這樣,如果過去有很多統計數據,第二天的預測就會相當準確(您還可以確定信任間隔 - 可能發生的可能錯誤)。接下來的日子會越來越不準確。

如果您爲每週的每一天製作不同的模型,將節假日和特殊日期作爲變量,您將獲得更高的精度。

這是以數學方式預測未來值的唯一正確方法。但是從這一切出現了一個問題:真的值得嗎?

+0

如何稱爲那個excel函數? – Francesc 2010-04-30 17:01:23

+0

http://www.pge.com/includes/docs/pdfs/about/edusafety/training/pec/toolbox/tll/appnotes/regression_using_the_excel_linest_function.pdf 它是LINEST – AlexanderMP 2010-05-02 09:35:25