Rilevazione di anomalie con funzionalità fittizie (e altre funzionalità discrete / categoriche)


18

tl; dr

  • Qual è il modo consigliato di trattare i discretedati quando si esegue il rilevamento di anomalie?
  • Qual è il modo consigliato di trattare i categoricaldati quando si esegue il rilevamento di anomalie?
  • Questa risposta suggerisce l'utilizzo di dati discreti per filtrare i risultati.
  • Sostituisci forse il valore della categoria con la probabilità percentuale di osservazione?

Intro

Questa è la prima volta che scrivo qui, quindi, per favore, se qualcosa non sembra tecnicamente corretto, sia nella formattazione, sia nell'uso delle definizioni corrette, sono interessato a sapere cosa avrebbe dovuto essere usato invece.

In poi.

Recentemente ho preso parte al corso di Machine Learning di Andrew Ng

Per il rilevamento di anomalie ci è stato insegnato a determinare quali sono i parametri di distribuzione Normale / Gaussiana per una data caratteristica / variabile, all'interno di un set di dati, e quindi determinare la probabilità di un set scelto di valore di esempio di addestramento / osservazione dato che particolare distribuzione gaussiana, e quindi prendendo il prodotto delle probabilità delle funzionalità.Xio

Metodo

Scegli caratteristiche / variabili che riteniamo spieghino l'attività in questione: { x 1 , x 2 , , x i }Xio

{X1,X2,...,Xio}

Adatta i parametri del gaussiano per ogni funzione: σ2=1

μj=1mΣio=1mXj(io)
σ2=1mΣio=1m(Xj(io)-μj)2

Per ogni esempio di addestramento, , calcola: p ( x ) = n j = 1 p ( x j ; μ j , σ 2 j )X

p(X)=Πj=1n p(Xj;μj,σj2)

Quindi segnaliamo come un'anomalia ( ), dato: y = \ left \ {\ begin {array} {ll} 1 & \ quad p (x) <\ epsilon \\ 0 & \ quad p (x) \ geq \ epsilon \ end {array} \ right.y = { 1y=1

y={1p(X)<ε0p(X)ε

Questo ci dà il metodo con cui determinare se un esempio richiede un'ulteriore ispezione.

Le mie domande)

Questo sembra andare bene per variabili / caratteristiche continue, ma i dati discreti non vengono indirizzati.

Che dire delle variabili fittizie, ad es. Una caratteristica flag di genere, forse chiamata [IsMale]che può essere del valore ? Per tenere conto di una funzione fittizia, utilizzeremo invece la distribuzione binomiale per calcolare ?p ( x )0,1p(X)

Che dire dei dati categorici come il colore delle auto? Mentre potremmo mappare i colori su valori numerici, ad esempio , la distribuzione di una tale caratteristica categoriale potrebbe essere vicina all'uniforme (cioè probabilità altrettanto uguali di essere uno dei colori), e inoltre, come qualsiasi la mappatura numerica che si verifica (ovvero il con il valore , ecc.) non è ordinale, ha senso cercare di trasformare qualsiasi distribuzione non normale di frequenze affinché i colori vengano distribuiti normalmente (importa anche che non sia ordinale? ?)? Ad esempio, per me, non avrebbe senso fare una trasformazione poiché i dati non sono né continui né ordinali. Quindi forse sarebbe meglio trovare una distribuzione discretared1,Blue2red1log() che si adatta alla funzionalità, invece di "torturare" i dati per adattarli al gaussiano?

Domande: (aggiornato: 24-11-2015)

  • Le variabili binarie possono essere modellate con una distribuzione di probabilità binomiale e diventare un altro fattore nel calcolo ?p(X)
  • Le variabili categoriali dovrebbero essere modellate con una distribuzione di probabilità discreta invece di un gaussiano e diventare un altro fattore nel calcolo ?p(X)
  • Esiste un altro metodo che tenga conto di ciò che sto chiedendo qui di poter approfondire / approfondire?
  • Qual è il modo consigliato di trattare i discretedati quando si esegue il rilevamento di anomalie?
  • Qual è il modo consigliato di trattare i categoricaldati quando si esegue il rilevamento di anomalie?

Modifica: 2017-05-03

  • Questa risposta suggerisce l'utilizzo di dati discreti per filtrare i risultati.
  • Sostituisci forse il valore della categoria con la probabilità percentuale di osservazione?

<disclaimer> Sono una persona con un background di statistiche sufficiente per essere pericolosa. </disclaimer> Quindi diventiamo pericolosi .... La mia intuizione concorda con la tua sul fatto che il gaussiano non è il modo di gestire i dati non continui. Per i dati continui, un valore sulla riga numerica ha un diverso tipo di relazione con tutti gli altri valori rispetto a un numero su una riga intera o una variabile binaria. Le distribuzioni binomiali descrivono le variabili binarie. Le distribuzioni multinomiali descrivono le variabili multinomiali. Non sono tutti membri della famiglia esponenziali?
EngrStudent - Ripristina Monica il


Un altro che può aggiungere a qualsiasi discussione: Argomento: valori erratici categorici?
Adrian Torrie,

@iValueValue Che cos'è nella tua quarta formula? È ? pp(X;μ,σ2)=1σ2πe-(X-μ)22σ2
Alessandro Jacopson,

@uvts_cvs sì, è la funzione di densità di probabilità del gaussaiano.
Adrian Torrie,

Risposte:


4

In generale, per entrambe le caratteristiche discrete * e categoriche, questo metodo non è particolarmente suscettibile di analisi anomale. Poiché non esiste alcuna magnitudine associata ai predittori categorici, stiamo lavorando con:

  • Frequenza della categoria osservata nei dati globali
  • Frequenza della categoria osservata all'interno dei sottospazi dei dati

Nota che nessuna di queste qualità può essere analizzata isolatamente, come richiede il tuo metodo gaussiano. Invece, abbiamo bisogno di un metodo che contestualizzi le caratteristiche categoriche e consideri la natura correlazionale dei dati.

Ecco alcune tecniche per i dati di attributi categorici e misti, basati su Outlier Analysis di Aggarwal:

  • SS=QKλK2QKTQKE=QKλKE
  • Se si dispone di funzionalità puramente categoriche, adattare un modello misto ai dati categorici non elaborati. I punti anomali hanno la probabilità generativa più bassa.
  • Utilizza la codifica one-hot per i predittori categorici e l'analisi delle variabili facoltativamente latente ** per le variabili ordinali con mappature continue non apparenti
    • Standardizzare le funzionalità non attive (le funzionalità automatiche sono già implicitamente standardizzate) ed eseguire l' analisi dei componenti principali . Esegui la riduzione della dimensionalità usando i principali componenti principali (o un approccio soft PCA in cui gli autovettori sono ponderati dagli autovalori) ed esegui un tipico metodo di analisi anomala continua (ad esempio un modello di miscela o il tuo metodo gaussiano)
    • Eseguire un'analisi basata sull'angolo. Per ogni osservazione, calcola le somiglianze del coseno tra tutte le coppie di punti. Le osservazioni con la più piccola varianza di queste somiglianze (note come "Fattore anomalo basato sull'angolo") sono molto probabilmente erronee. Potrebbe richiedere un'analisi finale della distribuzione empirica di ABOF per determinare ciò che è anomalo.
    • Se sono stati etichettati valori anomali: adattare un modello predittivo ai dati ingegnerizzati (regressione logistica, SVM, ecc.).

* Le funzionalità discrete potrebbero essere gestite approssimativamente nel tuo metodo gaussiano. Nelle giuste condizioni, una caratteristica può essere ben approssimata da una distribuzione normale (es. Variabile casuale binomiale con npq> 3). In caso contrario, gestirli come ordinali sopra descritti.

** Questo è simile alla tua idea di "sostituire il valore della categoria con la probabilità percentuale di osservazione"


K=1

@Akababa È possibile, ad esempio, calcolare MLE su parametri multinomiali usando l'algoritmo EM. Assumendo l'indipendenza dei camper multinomiali, questo approccio si generalizza a insiemi di predittori categorici arbitrari. Esempio qui
khol

0

La matematica di classe Andrew Ng gestisce i dati "discreti" come se gestisse i dati "non discreti". Tutto ciò che dobbiamo fare è stimare empiricamente i normali parametri di distribuzione e può essere fatto perfettamente per dati discreti.

Se ci pensate, l'apprendimento automatico si occupa sempre comunque di dati discreti: il numero di punti dati non è infinito e il numero di bit gestiti dai computer non è infinito.

Se i punti di dati discreti possono essere confrontati tra loro, allora non c'è alcuna differenza fondamentale per i metodi di apprendimento automatico quando si ha a che fare con, diciamo, lunghezza: 1,15 piedi 1,34 piedi 3,4 piedi

o quanti rami ci sono sull'albero: 1 2 3 5

Puoi sommare e mediare i numeri in virgola mobile o interi allo stesso modo.

Ora, ai dati categorici. I punti di dati categorici non possono essere confrontati {auto vs moto vs barca). Come lo gestiamo?

Il numero di categorie deve essere almeno due per avere un senso, altrimenti qual è il punto nella caratteristica costante? Nel caso di 2 categorie, possiamo rappresentare una caratteristica di categoria come caratteristica binaria {0, 1}. 0 e 1 possono essere usati per la matematica, quindi vedi sopra.

Se il numero di categorie (K) è [3 .. inf], mappiamo la nostra singola funzione su binarie K che si escludono a vicenda. Ad esempio, la categoria "motocicletta" diventa una combinazione di funzioni binarie {IsCar: 0, IsMotorcycle: 1, IsBoat: 0}, il punto barca diventa {IsCar: 0, IsMotorcycle: 0, IsBoat: 1} e così via.

Possiamo stimare i parametri di distribuzione empirica da queste nuove funzionalità. Avremo semplicemente più dimensioni, tutto qui.


1
Questo spiega la codifica fittizia ma non è una risposta alla domanda
Pieter,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.