Sunday 5 November 2017

Flytting Gjennomsnitt Iir Filter


Forskeren og ingeniørerveiledningen til digital signalbehandling av Steven W. Smith, Ph. D. Kapittel 19: Rekursive filtre Den rekursive metoden For å starte diskusjonen av rekursive filtre, tenk at du må trekke ut informasjon fra noe signal, x. Ditt behov er så flott at du ansetter en gammel matematikkprofessor for å behandle dataene for deg. Professorens oppgave er å filtrere x for å produsere y, som forhåpentligvis inneholder informasjonen du er interessert i. Professoren begynner med å beregne hvert punkt i y ifølge en hvilken som helst algoritme som er låst tett i sin overutviklede hjerne. Delvis gjennom oppgaven oppstår en mest uheldig begivenhet. Professoren begynner å snakke om analytiske singulariteter og fraksjonelle transformasjoner, og andre demoner fra matematikernes mareritt. Det er klart at professoren har mistet sinnet. Du ser med angst som professoren, og algoritmen din, blir tatt bort av flere menn i hvite strøk. Du ser frantisk på professorens notater for å finne algoritmen han brukte. Du finner at han hadde fullført beregningen av poeng y 0 til y 27, og begynte å begynne på punkt y 28. Som vist i figur 19-1, la vi variabelen n. representerer punktet som for tiden blir beregnet. Dette betyr at yn er prøve 28 i utgangssignalet, yn - 1 er prøve 27, yn - 2 er prøve 26 osv. Tilsvarende er xn punkt 28 i inngangssignalet, xn - 1 er punkt 27 osv. For å forstå Algoritmen blir brukt, spør vi oss selv: Hvilken informasjon var tilgjengelig for professoren for å beregne yn, prøven som for øyeblikket blir jobbet Den mest åpenbare informasjonskilden er inngangssignalet. det vil si verdiene: xn, xn - 1, xn - 2, 8230. Professoren kunne ha multiplikert hvert punkt i inngangssignalet med en koeffisient, og legge til produktene sammen: Du burde gjenkjenne at dette ikke er noe mer enn enkelt konvolusjon, med koeffisientene: a 0. en 1. en 2. 8230, som danner konvolusjonskjernen. Hvis dette var alt professoren gjorde, ville det ikke vært mye behov for denne historien, eller dette kapitlet. Det er imidlertid en annen kilde til informasjon som professoren hadde tilgang til: de tidligere beregnede verdier av utgangssignalet, holdt i: yn - 1, yn - 2, yn - 3, 8230. Ved hjelp av denne tilleggsinformasjonen ville algoritmen være i form: I ord blir hvert punkt i utgangssignalet funnet ved å multiplisere verdiene fra inngangssignalet med en koeffisient, multiplisere de tidligere beregnede verdier fra utgangssignalet med b-koeffisientene, og legge til produktene sammen. Legg merke til at det ikke er en verdi for b 0. fordi dette tilsvarer prøven som beregnes. Ligning 19-1 kalles rekursjonsligningen. og filtre som bruker det kalles rekursive filtre. A - og b-verdiene som definerer filteret kalles rekursjonskoeffisientene. I praksis kan ikke mer enn omtrent et dusin rekursjonskoeffisienter bli brukt eller filteret blir ustabilt (det vil si at utgangen kontinuerlig øker eller svinger). Tabell 19-1 viser et eksempel på rekursivt filterprogram. Rekursive filtre er nyttige fordi de omgår en lengre convolution. For eksempel vurdere hva som skjer når en delta-funksjon går gjennom et rekursivt filter. Utgangen er filtreimpulsresponsen. og vil typisk være en sinusformet oscillasjon som eksponentielt faller ned. Siden denne impulsresponsen i uendelig lange rekursive filtre ofte kalles uendelige impulsrespons-IIR-filtre. I virkeligheten samler rekursive filtre inngangssignalet med en veldig lang filterkjerne, selv om bare noen få koeffisienter er involvert. Forholdet mellom rekursjonskoeffisientene og filterresponsen er gitt ved en matematisk teknikk kalt z-transformasjonen. emnet i kapittel 31. For eksempel kan z-transformen brukes til slike oppgaver som: Konvertering mellom rekursjonskoeffisientene og frekvensresponsen, kombinering av kaskader og parallelle trinn i et enkelt filter, utforming av rekursive systemer som etterligner analoge filtre, osv. . Dessverre er z-transformasjonen veldig matematisk, og mer komplisert enn de fleste DSP-brukere er villige til å håndtere. Dette er rike for de som spesialiserer seg på DSP. Det er tre måter å finne rekursjonskoeffisientene uten å forstå z-transformasjonen. For det første gir dette kapitlet designlikninger for flere typer enkle rekursive filtre. For det andre, kapittel 20 gir et kokbok-dataprogram for å designe de mer sofistikerte Chebyshev-lavpas - og høypassfiltrene. Tredje, kapittel 26 beskriver en iterativ metode for utforming av rekursive filtre med en vilkårlig frekvensrespons. Denne java-applet er en demonstrasjon av digitale filtre. Du bør høre en lydbølgeform når appleten starter opp. Hvis du får en melding Trenger java 2 for lyd, bør du få Java-plugin-modulen. Appleten starter med et lavpassfilter. Det viser frekvensresponsen til filteret, spektret av den filtrerte bølgeformen som spilles, selve bølgeformen og impulsresponsen av filteret. Klikk på svarkurven for å endre cutoff-frekvensen. Frekvensresponsdiagrammet viser filterresponsen (vist vertikalt, i dB, med linjer med 10 dB intervaller) mot frekvensen (vist horisontalt, med vertikale linjer som markerer oktaver). Spektrumgrafen viser spekteret av lydutgangen. Input-menyen kan du velge en inngangsbølgeform. Valgene er: Noise Sine Wave - velg frekvensen ved å klikke på spektret. Sawtooth Wave Triangle Wave Square Wave Periodisk Støy - velg frekvensen ved å klikke på spektret. Sweep - en sinusbølge som feier over frekvensspekteret med en justerbar hastighet. Impulser Forskjellige mp3-filer (du kan legge til din egen ved å laste ned appleten og deretter redigere index. html-filen) Filtermenyen kan du velge et filter. Se dette nettstedet for tekniske detaljer om filtertyper. Valgene er: FIR Low-Pass - filtrerer ut høye frekvenser (alt under cutoff-frekvensen, som kan justeres ved å klikke på svargrafen med musen). FIR High-pass - filtrerer ut lave frekvenser. FIR Band-pass - filtrerer ut alt unntatt en rekke frekvenser. Bruk glidebrytene Senterfrekvens og Passebredbredde til å justere området. FIR Band-stop - filtrerer ut en rekke frekvenser. Her er noen justerbare parametere som påvirker kvaliteten på FIR-filtre: Antall poeng som du kan justere med Ordre-glideren (flere poeng er bedre) og vinduet du velger med Vindu-popup-vinduet. Et FIR-filter er definert av impulsresponsen, som du kan se nær bunnen av vinduet. For å vise vindufunksjonen, velg FIR Lavpass. Still kuttfrekvensen nær null og se på impulsresponsen. Tilpasset FIR - Tegn på frekvensresponsgrafen for å angi ditt eget filter. Den faktiske responsen, vist i rødt, påvirkes av glidebryteren Ordre og Vindu popup. Ingen - ingen filtrering Butterworth Low-pass - et flatt filter som filtrerer ut høye frekvenser Butterworth High-pass - et flatt filter som filtrerer ut lave frekvenser Butterworth Band-pass - et flatt filter som filtrerer ut frekvenser utenfor et bestemt bånd Butterworth Band - stopp - et flatt filter som filtrerer ut frekvenser inne i et bestemt bånd Chebyshev Low-pass - et lavpassfilter med en justerbar mengde krusning i passbåndet Chebyshev High-pass, Band-pass, Band-stop Inv Cheby Low-pass - invers Chebyshev (også kjent som Chebyshev type II), et lavpasfilter med et flatt passbånd, men en justerbar mengde krusning i stoppbåndet Inv Cheby High-pass, Band-Pass, Band-stop Elliptic Low-Pass - også kjent som Cauer) et lavpasfilter med en justerbar mengde krusning i passbåndet og stoppbåndet. Justering av overgangsbåndbredde vil forandre stoppbånddempingen. Elliptisk høypass, Band-pass, Band-stop Comb () - dette filteret (brukt på støy) høres ut som om noen blåser inn i et rør. Kam (-) - dette er et rør med en ende dekket. Forsinkelse - et ekkofilter (det samme som et kamfilter, men med lengre forsinkelser) Plucked-String Filter - Når Input-popup er satt til impulser, høres dette ut som en streng som plukkes. Inverse Comb Reson - resonerer ved en frekvens Reson w Zeros - et resonfilter med nuller lagt til 0 og halv samplingsfrekvens Notch - filtrerer ut et smalt frekvensområde Moving Average - et enkelt FIR-forsøk på lavpassfilter. Dette filteret (når det brukes på støy) minner meg om en Atari 2600. Triangle Allpass - passerer alle frekvenser likt, men med forskjellig faseforsinkelse. Bruk Fase Response-elementet i Vis-menyen for å vise fasesponsen. For lavfrekvenser, fungerer dette filteret som en brøkdelforsinkelse (en forsinkelse på mindre enn en prøve). Gaussisk - impulsresponsen og frekvensresponsen er både gaussisk formet tilfeldig tilpasset IIR - dra polene og nullene rundt for å bytte filter. Sampling Rate popup lar deg vise eller endre samplingsfrekvensen. Du kan ikke endre frekvensen hvis inngangen er en MP3. Vis-menyen lar deg slå på eller av de ulike visningene. Logfrekvensskala-elementet som viser frekvensresponsen ved hjelp av en logaritmisk tomt i stedet for lineær. Vis hele Waveform-elementet vil komprimere bølgeformsegmentene horisontalt slik at hver enkelt passer i vinduet på denne måten, alle bølgeformene vil bli vist, men vinduet vil vanligvis ikke være bredt nok til å vise hver enkelt prøve separat. Ferris Plot-elementet vil vise en Ferris Plot av overføringsfunksjonen. Når du viser frekvensresponsen, viser applet bare delen av spektret fra 0 til Nyquist-frekvensen (pi). Resten av svaret opptil 2pi er bare et speilbilde av dette, og deretter gjentas svaret hver 2pi. Her er svaret opp til 4pi: Gode bøker om digitale filtre: Steiglitz (flott intro til DSP har informasjon om kamfiltre, resonanser, plukket snor ) Smith (nedlastbar) Winder Mitra Jeg jobber med en stor mengde tidsserier. Disse tidsseriene er i utgangspunktet nettverksmålinger som kommer hvert 10. minutt, og noen av dem er periodiske (dvs. båndbredden), mens noen andre arent (dvs. mengden rutingstrafikk). Jeg vil gjerne ha en enkel algoritme for å gjøre en online utleder deteksjon. I utgangspunktet vil jeg beholde alle historiske data for hver tidsserie i minnet (eller på disken), og jeg vil oppdage en hvilken som helst utvider i et levende scenario (hver gang en ny prøve blir tatt). Hva er den beste måten å oppnå disse resultatene Jeg bruker for øyeblikket et glidende gjennomsnitt for å fjerne litt støy, men hva er de neste enkle ting som standardavvik, sint. mot hele datasettet virker det ikke bra (jeg kan ikke anta at tidsseriene er stasjonære), og jeg vil gjerne ha noe mer nøyaktig, helst en svart boks som: dobbelt outlierdetection (dobbel vektor, dobbel verdi) der vektoren er en rekke dobbeltholdige de historiske dataene, og returverdien er anomalitetspoeng for den nye samplingsverdien. spurte Aug 2 10 kl 20:37 Ja, jeg har antatt at frekvensen er kjent og spesifisert. Det er metoder for å estimere frekvensen automatisk, men det vil komplisere funksjonen betydelig. Hvis du må estimere frekvensen, kan du prøve å stille et eget spørsmål om det - og jeg vil nok gi svar. Men det trenger mer plass enn jeg har tilgjengelig i en kommentar. ndash Rob Hyndman Aug 3 10 kl 23:40 En god løsning vil ha flere ingredienser, blant annet: Bruk et motstandsdyktig, bevegelige vindu glatt for å fjerne ikke-stabilitet. Gi uttrykk for de opprinnelige dataene slik at residualene med hensyn til glatt er omtrent symmetrisk fordelt. Gitt dataene dine, er det sannsynlig at deres firkantede røtter eller logaritmer vil gi symmetriske gjenstander. Bruk kontroll diagrammet metoder, eller i det minste kontroll diagram tenkning, til residualene. Så langt som det siste går, viser kontrolldiagramtanken at konvensjonelle terskler som 2 SD eller 1,5 ganger IQR utover kvartilene virker dårlig, fordi de utløser for mange falske out-of-control signaler. Folk bruker vanligvis 3 SD i kontrolldiagramarbeid, hvorav 2,5 (eller til og med 3) ganger IQR utover kvartilene ville være et godt utgangspunkt. Jeg har mer eller mindre skissert naturen til Rob Hyndmans løsning mens jeg legger til to hovedpunkter: Det potensielle behovet for å gi uttrykk for dataene og visdommen om å være mer konservativ når det gjelder å signalere en outlier. Jeg er ikke sikker på at Loess er bra for en elektronisk detektor, men fordi det ikke fungerer bra på sluttpunktene. Du kan i stedet bruke noe så enkelt som et bevegelig medianfilter (som i Tukeys resistente utjevning). Hvis utjevnene ikke kommer i utbrudd, kan du bruke et smalt vindu (5 datapunkter, kanskje, som bare vil bryte ned med en utbrudd på 3 eller flere avvikere innenfor en gruppe på 5). Når du har utført analysen for å bestemme en god re-ekspresjon av dataene, vil du sannsynligvis ikke endre re-uttrykket. Derfor trenger nettleseren din bare å referere til de nyeste verdiene (det siste vinduet) fordi det ikke vil bruke de tidligere dataene i det hele tatt. Hvis du har veldig lange tidsserier, kan du gå videre for å analysere autokorrelasjon og sesongmessighet (som gjentatte daglige eller ukentlige svingninger) for å forbedre prosedyren. besvart aug 26 10 kl 18:02 John, 1,5 IQR er Tukey39s opprinnelige anbefaling for de lengste whiskers på en boksplott og 3 IQR er hans anbefaling for markeringspoeng som kvoter outliersquot (en riff på en populær 6039-setning). Dette er bygget inn i mange boxplot-algoritmer. Anbefalingen er teoretisk analysert i Hoaglin, Mosteller, Amp Tukey, Understanding Robust og Exploratory Data Analysis. ndash w huber 9830 okt 9 12 kl 21:38 Dette bekrefter tidsseriedata jeg har prøvd å analysere. Vinduet gjennomsnitt og også en standard standardavvik. ((x - avg) sd) gt 3 synes å være poengene jeg vil flagge som utelukker. Vel, vær så snill som advarsler, flagg jeg noe høyere enn 10 sd som ekstreme feilutviklere. Problemet jeg løper inn er det som er en ideell vinduslengde 395m med noe mellom 4-8 datapunkter. ndash NeoZenith Jun 29 16 at 8:00 Neo Din beste innsats kan være å eksperimentere med en delmengde av dataene dine og bekrefte konklusjonene dine med tester på resten. Du kan også gjennomføre en mer formell kryssvalidering (men det er nødvendig med forsiktighet med tidsseriedata på grunn av gjensidig avhengighet av alle verdiene). ndash w huber 9830 Jun 29 16 kl 12:10 (Dette svaret reagerte på et duplikat (nå lukket) spørsmål ved å oppdage utestående hendelser. Som presentert noen data i grafisk form.) Utleder detektering avhenger av dataens natur og hva du er villige til å anta om dem. Generelle metoder bygger på robust statistikk. Ånden i denne tilnærmingen er å karakterisere størstedelen av dataene på en måte som ikke påvirkes av noen avvikere og deretter peke på noen individuelle verdier som ikke passer inn i den karakteriseringen. Fordi dette er en tidsserie, legger det til komplikasjonen av å måtte (gjenoppdage) avvikere på en kontinuerlig basis. Hvis dette skal gjøres når serien utfolder seg, kan vi bare bruke eldre data for deteksjonen, ikke fremtidige data. For å beskytte mot de mange gjentatte tester vil vi gjerne bruke en metode som har svært lite falsk positiv rente. Disse overvejingene antyder at du kjører en enkel, robust flyttevinduutgangstest over dataene. Det er mange muligheter, men en enkel, lett forståelig og lett implementert en er basert på en løpende MAD: median absolutt avvik fra medianen. Dette er et sterkt robust mål for variasjon i dataene, i likhet med en standardavvik. En ekstern topp ville være flere MAD eller mer større enn medianen. Det er fortsatt noen tuning som skal gjøres. hvor mye av avvik fra hovedparten av dataene bør betraktes som eksternt og hvor langt tilbake i tid bør man se. La oss la disse være parametere for eksperimentering. Heres en R-implementering brukes på data x (1,2, ldots, n) (med n1150 å emulere dataene) med tilsvarende verdier y: Brukes til et datasett som den røde kurven illustrert i spørsmålet, produserer dette resultatet: Dataene vises i rødt, 30-dagers vinduet med median5MAD-grenseverdier i grått, og utjevningene - som bare er de dataværdiene over den grå kurven - i svart. (Terskelen kan bare beregnes fra begynnelsen av innledningsvinduet. For alle data i dette innledende vinduet brukes den første terskelen: derfor er den grå kurven flat mellom x0 og x30.) Effektene ved å endre parametrene er (a) øker verdien av vinduet en tendens til å glatte ut den grå kurven og (b) økende terskel vil øke den grå kurven. Å vite dette kan man ta et innledende segment av dataene og raskt identifisere verdier av parametrene som best adskiller de ytre toppene fra resten av dataene. Bruk disse parameterverdiene for å sjekke resten av dataene. Hvis et diagram viser at metoden er forverret over tid, betyr det at dataenes natur endrer seg og parametrene kan trenge å justeres. Legg merke til hvor lite denne metoden antar om dataene: De trenger ikke å bli distribuert normalt, de trenger ikke å vise noen periodicitet de ikke engang må være ikke-negative. Alt det antas, er at dataene oppfører seg på rimelig lignende måter over tid, og at de ytre toppene er synlig høyere enn resten av dataene. Hvis noen vil gjerne eksperimentere (eller sammenligne noen annen løsning med den som tilbys her), her er koden jeg brukte til å produsere data som de som er vist i spørsmålet. Jeg gjetter sofistikert tidsseriemodell vil ikke fungere for deg på grunn av den tiden det tar å oppdage avvikere ved hjelp av denne metoden. Derfor er det her en løsning: Først opprett en normal trafikkmønster i et år basert på manuell analyse av historiske data som står for tidspunkt på dagen, ukedag vs helg, måned på året etc. Bruk denne grunnlinjen sammen med en enkel mekanisme (for eksempel bevegelige gjennomsnitt foreslått av Carlos) for å oppdage avvikere. Du vil kanskje også vurdere den statistiske prosesskontrolllitteraturen for noen ideer. Ja, dette er akkurat det jeg gjør: til nå deler jeg signalet manuelt i perioder, slik at jeg for hver av dem kan definere et konfidensintervall der signalet skal være stasjonært, og derfor kan jeg bruke standardmetoder som som standardavvik. Det virkelige problemet er at jeg ikke kan bestemme det forventede mønsteret for alle signalene jeg må analysere, og derfor søker jeg etter noe mer intelligent. ndash gianluca Aug 2 10 kl 21:37 Her er en ide: Trinn 1: Implementer og estimer en generisk tidsseriemodell på en gang basert på historiske data. Dette kan gjøres offline. Trinn 2: Bruk den resulterende modellen til å oppdage avvikere. Trinn 3: Omkalibrere tidsseriemodellen (dette kan gjøres frakoblet), med en eller annen frekvens (kanskje hver måned), slik at trinn 2-deteksjon av utjevningsmidler ikke går for mye ut av dagens trafikkmønstre. Ville det fungere for konteksten din ndash user28 Aug 2 10 kl 22:24 Ja, dette kan fungere. Jeg tenkte på en lignende tilnærming (omdanner grunnlinjen hver uke, som kan være CPU-intensiv hvis du har hundrevis av univariate tidsserier for å analysere). BTW Det virkelige vanskelige spørsmålet er hva er den beste blackbox-stilalgoritmen for modellering av et helt generisk signal, vurderer støy, trendestimering og seasonalityquot. AFAIK, hver tilnærming i litteraturen krever en veldig hard quotparameter tuningquot-fase, og den eneste automatiske metoden jeg fant er en ARIMA-modell av Hyndman (robjhyndmansoftwareforecast). Jeg savner noe ndash gianluca Aug 2 10 kl 22:38 Igjen, dette virker ganske bra hvis signalet skal ha en sesongmessig sånn, men hvis jeg bruker en helt annen tidsserie (dvs. gjennomsnittlig TCP rundtur tid over tid ), vil denne metoden ikke fungere (siden det ville være bedre å håndtere det med en enkel global gjennomsnittlig og standardavvik ved å bruke et skyvevindu som inneholder historiske data). ndash gianluca Aug 2 10 kl 22:02 Med mindre du er villig til å implementere en generell tidsserie modell (som bringer inn sine ulemper med hensyn til latens osv.) er jeg pessimistisk at du vil finne en generell gjennomføring som samtidig er enkel nok å jobbe for alle slags tidsserier. ndash user28 Aug 2 10 kl 22:06 En annen kommentar: Jeg vet at et godt svar kan være quotso du kan estimere signalets periodicitet og bestemme algoritmen for å bruke i henhold til itquot, men jeg fant ikke en virkelig god løsning på denne andre problem (jeg spilte litt med spektralanalyse ved hjelp av DFT og tidsanalyse ved hjelp av autokorrelasjonsfunksjonen, men min tidsserie inneholder mye støy og slike metoder gir noen vanlige resultater mesteparten av tiden) ndash gianluca Aug 2 10 kl 22:06 A kommentere din siste kommentar: det er derfor jeg leter etter en mer generisk tilnærming, men jeg trenger en slags quotblack boxquot fordi jeg ikke kan gjøre noen antagelse om det analyserte signalet, og derfor kan jeg ikke opprette kvoteparameteren for læringalgoritmoten. ndash gianluca Aug 2 10 kl 22:09 Siden det er en tidsserie data, vil et enkelt eksponensielt filter en. wikipedia. orgwikiExponentialsmoothing glatte dataene. Det er et veldig godt filter siden du ikke trenger å samle gamle datapunkter. Sammenlign alle nyliggjorte dataverdier med sin ujevne verdi. Når avviket overskrider en bestemt forhåndsdefinert terskel (avhengig av hva du mener er en utjevneren i dataene dine), kan din utleder lett oppdages. besvart 30 april 15 kl. 8:50 Du kan bruke standardavviket fra de siste N-målingene (du må velge en egnet N). En god anomalie score ville være hvor mange standardavvik en måling er fra det bevegelige gjennomsnittet. svarte aug 2 10 kl 20:48 Takk for svaret ditt, men hva hvis signalet viser høy sesongmessighet (dvs. mange nettmålinger er preget av et daglig og ukentlig mønster på samme tid, for eksempel natt vs dag eller helg mot arbeidsdager) En tilnærming basert på standardavvik vil ikke fungere i det tilfellet. ndash gianluca Aug 2 10 kl 20:57 Hvis jeg for eksempel får en ny prøve hvert 10. minutt, og jeg gjør en ekstern oppdagelse av nettverksbåndbreddebruken av et selskap, i utgangspunktet klokka 18.00, vil dette tiltaket falle ned (dette er en forventet et totalt normalt mønster), og et standardavvik beregnet over et skyvevindu vil mislykkes (fordi det vil utløse et varsel sikkert). Samtidig, hvis målet faller ned klokka 16:00 (avviker fra vanlig utgangspunkt), er dette en ekte utvider. ndash gianluca aug 2 10 kl 20:58 hva jeg gjør er å gruppere målingene etter klokkeslett og ukedag, og sammenlign standardavvik av det. Fortsatt korrigerer ikke for ting som ferie og sommervinters sesongmessighet, men det er riktig det meste av tiden. Ulempen er at du virkelig trenger å samle et år med data for å få nok slik at stddev begynner å gi mening. Spektralanalyse registrerer periodicitet i stasjonære tidsserier. Frekvensdomene tilnærming basert på spektral tetthets estimering er en tilnærming jeg vil anbefale som ditt første skritt. Hvis uregelmessigheter i visse perioder betyr en mye høyere topp enn det som er typisk for den perioden, ville serien med slike uregelmessigheter ikke være stasjonær og spektral anslisning ikke ville være hensiktsmessig. Men hvis du antar at du har identifisert perioden som har uregelmessighetene, bør du kunne bestemme omtrent hva den normale topphøyden ville være, og da kan du sette en terskel på noe nivå over det gjennomsnittet for å utpeke de uregelmessige tilfellene. besvart 3 september 12 kl 14:59 Jeg foreslår ordningen nedenfor, som skal kunne implementeres på en dag eller så: Samle så mange prøver som du kan holde i minnet. Fjern åpenbare avvikere ved å bruke standardavviket for hvert attributt. Beregn og lagre korrelasjonsmatrisen og også gjennomsnittet av hvert attributt Beregn og lagre Mahalanobis avstandene til alle dine prøver. Beregne utløpsvanskeligheten: For den enkle prøven som du vil vite dens utjevnhet: Hent midlene, kovariansmatrise og Mahalanobis avstand s fra trening. Beregn Mahalanobis avstand d for prøven Returner prosentilen der d faller (ved hjelp av Mahalanobis avstandene fra treningen) Det vil være din outlier score: 100 er en ekstrem outlier. PS. Ved beregning av Mahalanobis avstanden. bruk korrelasjonsmatrisen, ikke kovariansmatrisen. Dette er mer robust hvis prøvemålingene varierer i enhet og nummer.

No comments:

Post a Comment