2016-05-09 14 views
1

我正在嘗試構建電子商務模型,以預測通過在線營銷渠道(如谷歌購物)獲得的單擊點擊收入。點擊次數是針對產品詳細信息頁面的,因此我的培訓數據包含產品詳細信息,例如:價格,交貨時間,類別,製造商。每一次歷史點擊也帶來了收入。問題是,對於95%以上的點擊量,收入等於零。單擊收入預測模型

歷史數據是這樣的:

click_id | manufacturer | category | delivery_time | price | revenue
1 |man1 | cat1 | 24 | 100 | 0
2 |man1 | cat1 | 24 | 100 | 0
3 |man1 | cat1 | 24 | 100 | 0
4 |man1 | cat1 | 24 | 100 | 120
5 |man2 | cat2 | 48 | 200 | 0

正如你所看到的,這是可能的(普通)塔兩個數據點具有完全相同的特徵和目標變量(收入)的非常不同的值。例如前4個數據點具有相同的特徵,並且僅有4個數據點具有收入。理想情況下,我的模型將在具有相同特徵的測試示例中預測這4次點擊的平均收入(即30)。

我的問題是關於我嘗試應用模型之前的數據表示。我相信我有兩個選擇:

  • 將回歸直接應用於點擊數據(如上例),並希望迴歸能夠做正確的事情。在這種情況下,迴歸誤差最終會非常大,因此很難說出模型的實際效果。
  • 嘗試將多個數據點(點擊)分組到單個點以避免一些零 - 將具有相同功能的所有數據點進行分組,並將目標(收入)變量計算爲SUM(收入)/ COUNT(點擊次數)。通過這種方法,我的收入仍然有很多零(產品只有幾個點擊),有時候會有數千次點擊只給您一個數據點 - 這看起來不正確。

任何意見如何解決這個問題是非常受歡迎的。

回答

0

95%的數據收入爲零,您可能需要對記錄進行一些操作,例如採樣。按照目前的構建,您的模型可以在100%的時間內預測「不」,而且仍然可以達到95%的準確率。您需要針對您的模型中想要的錯誤類型進行設計選擇。您是否希望它「儘可能準確」,因爲它錯過了儘可能少的記錄,錯過了儘可能少的收入記錄,或者避免將記錄錯誤地歸類爲收入(如果它們實際上不是這樣)(閱讀關於類型的更多信息1個& 2錯誤,如果你很好奇)

有幾個高水平的選擇,你可以做:

1)你可以在樣本數據。如果您有很多記錄並希望確保您捕獲創收功能,則可以複製這些記錄或進行記錄工程以創建與產生收入的記錄非常相似的「虛假」記錄。這會增加您的模型捕捉到推動收入增長的可能性,並且會使您很可能在將這些功能應用於實際數據時對這些功能進行評估。

2)您可以使用模型來預測概率,然後擴大你的概率。例如,你可以看看你的模型,並說任何有25%以上的收入產生可能性的東西實際上是一個「正面」情況。

3)你可以嘗試聚集數據,如上所述,並嘗試運行「求和」值的分類算法,而不是單個記錄。

4)是否有一些分段的可能性大於5%?也許在這些子集上建立一個模型。

這些都是模型設計的選擇,沒有正確/錯誤的答案 - 它只是取決於你想要完成的。

按您迴應 迴歸可以通過異常來顯著影響編輯的,所以我會小心一點只是想用一個迴歸預測的美元金額。很可能大部分變量的係數都很小,截距反映的是平均支出。你應該記住的另一件事是互動條款。例如,如果你是男性,你可能更有可能購買,如果你年齡在25-30歲,更可能購買,但是男性和25-30歲的男性都有超大的影響。

我提出分類的原因是你可以嘗試做一個分類,看看誰可能購買,然後應用美元金額。這種方法會阻止你在每次交易中擁有基本相同的非常小的金額。

+0

嗨flymeatball,感謝您的答案。 我的問題是更多的迴歸分類(所以我沒有類型1和2的錯誤和類似)。我已經更新了這篇文章,詳細介紹了我除了模型之外的內容(在歷史數據表下面)。 – hakaa

+0

@hakaa編輯根據您的評論 – flyingmeatball

+0

我試過迴歸,它的工作出人意料地好 - 它給予的結果比剛好來自攔截的平均值要好得多。但你是對的,攔截是模型的主要驅動力。 我也嘗試過多項式迴歸方面的「交互項」,並沒有多大幫助。 – hakaa