滴滴演算法大賽演算法解決過程 方案設計

2022-01-12 09:38:06 字數 1680 閱讀 5378

上面兩篇文章講了一些分析情況,整個模型變得很不確定了

資料分析:

擬合演算法:

滴滴演算法大賽到底需要什麼樣子的答案?

我一開始的想法是建立乙個模型,通過天氣,poi,交通擁堵的引數來推導出訂單數和gap數。

但是通過現有的資料發現,這個模型很難建立。

其實看一下題目,這是乙個**題:

給定每個區域在時間片tj,tj-1...的各項資料,**gapi,j+1, ∀di∈d。

如果不是想研究機器學習的話,其實也沒有必要(或者沒有可能)建立乙個完整的模型。

我們只需要知道,資料的發展趨勢,例如這個時間點是 n ,按照經驗,後乙個時間點的趨勢是上公升還是下降,幅度大約多少即可。

前幾天一直在尋找那些因素制約著訂單數。

9點整和18點整 全區域訂單分析圖

訂單的總量在不同日期,表現出極大的不同。但是,接單量和司機數有關係,司機數則是比較穩定的,9點的司機數大約是5000人,18點為4500人。(前三個資料是 01-01 到 01-03 節假日 ,01-09 ,01-10,01-16,01-17 分別是節假日,所以早晨的需求比較少 )

通過分析,我們應該可以整理出一張司機數和時間段的對應函式。(節假日和非節假日區分開來)

如果我們按照節假日和非節假日去看分時接單量

上面說了,日期別的訂單差異量很大,但是我們是否可以考察一下,每個時段的訂單變化率是否有規律可循呢?

例如在 100個時間片上訂單時 n,則101個時間片上,根據統計一般會增加 1.5%的話,則可以**101個時間片上的訂單時 1.05 * n;

當然如果就這麼計算的話,可能會接近於正確答案,但是完全沒有使用poi,天氣,交通等資料,基本上是不可能獲獎的。。。

不過,我們可以先來試試看,是不是可以找到規律呢。從圖表上看,我們應該可以統計出,每個時間點上資料的變化率。

週三的變化:

從第乙個週三到第二個週三的變化

從第乙個週三到第二個週三的變化率

訂單變化率:(這個時間片 - 上個時間片)/ 上個時間片

這樣的話,我們大概可以對於各個時間片之間訂單的變化率做乙個統計平均表。

假設時間片 n 的訂單數字 order ,下乙個時間片n+1的訂單數為 nextorder,則 變化率 k = (nextorder - order) / order。

我們可以計算出全區域的每個時間片的變化率,也可以算出單個區域的每個時間片的變化率。

每個區域的訂單比例

有些區域訂單多,有些區域訂單少,這個比例是否會隨著時間變化而變化呢?

放心,基本上每個區域的訂單比率很固定的。

題目裡面告訴了我們所需測試gap的時間片的前三個時間片的資料。結合變化率的概念,其實我們可以計算出待**的時間片的訂單量。

還有乙個問題是接單量怎麼考慮,我的想法是將這三個已知時間片的接單量的平均值作為新的接單量。

(有一種情況,例如乙個時間片裡 有50個訂單,但是有1個gap,這個時候其實不能認為接單量只有49,而應該認為這個區域的基本上是公供需平衡的。1個gap有可能是偶然因素。所以我這裡認為5個gap以下都是供需正常的。)

最後公式是:

這種方法計算出來的結果可能接近於答案,也可能遠離答案。但是完全沒有體現出機器學習的作用,所以本人覺得肯定是有問題的。這裡只是給出一種解決方案。接下來,開始思考正統的解決方案。

滴滴演算法大賽演算法解決過程 機器學習

按照前面文章的方法進行資料 完全不使用poi,天氣,交通情況的資料,可以達到0.43的成績。不過如果想要獲得更好的成績,簡單的 方法顯然無法滿足要求了。說可以使用gbdt的方法來進行資料 所以,我們先來聊聊gbdt演算法的一些基礎知識。熵熵 entropy 指的是體系的混亂的程度,它在控制論 概率論...

滴滴演算法大賽演算法解決過程 機器學習

按照前面文章的方法進行資料 完全不使用poi,天氣,交通情況的資料,可以達到0.43的成績。不過如果想要獲得更好的成績,簡單的 方法顯然無法滿足要求了。說可以使用gbdt的方法來進行資料 所以,我們先來聊聊gbdt演算法的一些基礎知識。熵熵 entropy 指的是體系的混亂的程度,它在控制論 概率論...

滴滴演算法大賽演算法解決過程 擬合演算法

概論 gap的 是建立在乙個擬合函式上的。也有一些機器學習的味道。總的gap函式 函式 時間,地區 交通流量和時間有關,乙個地方的擁堵程度和時間有關係 不同的地區,各種設施配置不同。天氣和時間有關。gap函式 函式 交通擁擠度函式 時間,地區編號 poi函式 地區編號 天氣函式 時間 這裡可以認為,...