如何做一個演算法估算出一個不定時抓取到一個APP每天的下載量

來源:互聯網
上載者:User
關鍵字 php
假設每天我固定時間去某一個網站,比如豌豆莢抓取某一個APP的下載量,如果每次都是固定時間抓取,我肯定能夠抓到每天的下載量。

但我無法做到每天固定時間抓取,我只能每天不固定時間抓取一次,如何用演算法估算出某一天的下載量。

回複內容:

假設每天我固定時間去某一個網站,比如豌豆莢抓取某一個APP的下載量,如果每次都是固定時間抓取,我肯定能夠抓到每天的下載量。

但我無法做到每天固定時間抓取,我只能每天不固定時間抓取一次,如何用演算法估算出某一天的下載量。

數學題

資料不夠的時候怎麼估算結果?第一步,做假設,限定一下。

1) 最簡單的一種假設,每兩次抓取的時間之間,使用者下載次數的平均的。

昨天、今天、明天抓取到的總量, S0,S1,S2;
昨天、今天、明天抓取的時間點, t0,t1,t2;

那麼今天的總量 = (t1 - 今天0點)/(t1 - t0) (S1 - S0) + (今天24點 - t1)/(t2 - t1) (S2 - S1);

這個值,對於一般的估算每天下載總量是夠了。
但是缺點是使用者下載頻次在採集點突變不合常理,如果APP是新品或者遇到宣傳或者遇到爆發點,這個估算的單天偏差就會很大。

2) 較細緻的假設:使用者下載次數的變更是平滑的,不會突變。

多點連成平滑曲線的問題,可以參考貝茲路徑公式。我就不做推導了,唯寫幾個特點。

在資料足夠多時,類比的曲線平滑,但是資料少時,細節資料也只是看起來真實,其實也不值得參考。
多點曲線,在增加新的點(又採集了一天的資料),整體的曲線都會變動,不穩定。

總結來講,就用第一種吧,誰讓資料不夠多呢。

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.