Domanda

Per trovare argomenti di tendenza, utilizzo il punteggio Standard in combinazione con una media mobile:

z-score = ([current trend] - [average historic trends]) / [standard deviation of historic trends]

(Grazie mille, Nixuz )

Fino ad ora, lo faccio come segue:

Qualunque sia il tempo, per le tendenze storiche torno semplicemente indietro di 24 ore. Supponendo che abbiamo il 12 gennaio, 15:45 ora:

current_trend = hits [11 gennaio, 3:45 - 12 gennaio, 3:45]

historic_trends = hits [10 gen, 3:45 - 11 gen, 3:45] + successi [9 gen, 3:45 - 10 gen, 3:45] + hit [8 gen, 3:45 - 9 gen , 3:45] + ...

Ma è davvero adeguato? Non sarebbe meglio se iniziassi sempre alle 00:00? Ad esempio in questo modo per gli stessi dati (15:45):

current_trend = hits [11 gennaio, 0:00 - 12 gennaio, 0:00]

historic_trends = hits [10 gen, 0:00 - 11 gen, 0:00] + hit [9 gen, 0:00 - 10 gen, 0:00] + hit [9 gen, 0:00 - 9 gen , 0: 0] + ...

Sono sicuro che i risultati sarebbero diversi. Ma quale approccio ti darà risultati migliori?

Spero che tu abbia capito la mia domanda e puoi aiutarmi. :) Grazie in anticipo!

È stato utile?

Soluzione

Penso che il problema che potresti riscontrare con la tua attuale implementazione sia che gli argomenti caldi 23 ore fa stanno influenzando le tue classifiche in questo momento. Il problema che vedo con la tua nuova implementazione proposta è che stai pulendo l'ardesia a mezzanotte, quindi gli argomenti che erano caldi a tarda notte non sembreranno caldi la mattina successiva (ma dovrebbero).

Ti suggerisco di esaminare l'implementazione di un algoritmo in stile Digg in cui il calore di un argomento decade con l'età. Puoi farlo contando gli hit / ora per ciascuno degli ultimi periodi di 24 ore, quindi dividi ogni punteggio per quante ore fa ha avuto luogo il periodo. Aggiungi i 24 punti per ottenere il punteggio.

hottness = (punteggio24 / 24) + (punteggio23 / 23) + ... + (punteggio2 / 2) + punteggio1

Dove score24 è il numero di " hit " che un argomento ha avuto luogo nel periodo di un'ora che si è verificato 24 ore fa (forse non esattamente i risultati, ma il punteggio normalizzato per quell'ora).

In questo modo gli argomenti caldi 24 ore fa verranno comunque conteggiati nel tuo algoritmo, ma non così pesantemente come gli argomenti caldi un'ora fa.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top