Senast uppdaterad den 8 augusti 2019
det kan vara användbart att ha en övre och nedre gräns för data.
dessa gränser kan användas för att identifiera avvikelser och ställa förväntningar på vad som väntar. En bunden på observationer från en population kallas ett toleransintervall. Ett toleransintervall kommer från fältet för uppskattningsstatistik.
ett toleransintervall skiljer sig från ett prediktionsintervall som kvantifierar osäkerheten för ett enda förutsagt värde. Det skiljer sig också från ett konfidensintervall som kvantifierar osäkerheten hos en populationsparameter som ett medelvärde. Istället täcker ett toleransintervall en del av befolkningsfördelningen.
i denna handledning kommer du att upptäcka statistiska toleransintervall och hur man beräknar ett toleransintervall för gaussiska data.
När du har slutfört denna handledning kommer du att veta:
- att statistiska toleransintervall ger gränser för observationer från en population.
- att ett toleransintervall kräver att både en täckningsandel och förtroende anges.
- att toleransintervallet för ett dataprov med en Gaussisk fördelning lätt kan beräknas.
kickstarta ditt projekt med min nya Bokstatistik för maskininlärning, inklusive steg-för-steg-handledning och Python-källkodsfilerna för alla exempel.
Låt oss komma igång.
en mild introduktion till Statistiska Toleransintervall i maskininlärning
foto av Paul Hood, vissa rättigheter reserverade.
- handledning Översikt
- behöver du hjälp med statistik för maskininlärning?
- gränser på Data
- Vad är statistiska Toleransintervall?
- hur man beräknar Toleransintervall
- Toleransintervall för Gaussisk Distribution
- Extensions
- Vidare läsning
- böcker
- API
- artiklar
- sammanfattning
- ta hand om statistik för maskininlärning!
- utveckla en fungerande förståelse för statistik
- Upptäck hur du omvandlar Data till kunskap
handledning Översikt
denna handledning är uppdelad i 4 delar; de är:
- gränser för Data
- Vad är statistiska Toleransintervall?
- hur man beräknar Toleransintervall
- Toleransintervall för Gaussisk Distribution
behöver du hjälp med statistik för maskininlärning?
Ta min gratis 7-dagars e-postkraschkurs nu (med provkod).
Klicka för att registrera dig och få en gratis PDF-e-bokversion av kursen.
ladda ner din gratis minikurs
gränser på Data
det är användbart att sätta gränser på data.
om du till exempel har ett urval av data från en domän kan det vara till hjälp att känna till övre och nedre gränsen för normala värden för att identifiera avvikelser eller avvikelser i data.
För en process eller modell som gör förutsägelser kan det vara bra att känna till det förväntade intervallet som förnuftiga förutsägelser kan ta.
att känna till det gemensamma värdeområdet kan hjälpa till med att ställa in förväntningar och upptäcka avvikelser.
intervallet av gemensamma värden för data kallas ett toleransintervall.
Vad är statistiska Toleransintervall?
toleransintervallet är en gräns för en uppskattning av andelen data i en population.
ett statistiskt toleransintervall en specificerad andel av enheterna från den provtagna populationen eller processen.
— Sida 3, statistiska intervaller: en Guide för utövare och forskare, 2017.
intervallet begränsas av provtagningsfelet och av variansen i befolkningsfördelningen. Med tanke på lagen om stora tal, när provstorleken ökas, kommer sannolikheterna bättre att matcha den underliggande befolkningsfördelningen.
nedan är ett exempel på ett angivet toleransintervall:
intervallet från x till y täcker 95% av data med ett förtroende på 99%.
om data är Gaussisk kan intervallet uttryckas i samband med medelvärdet; till exempel:
x +/- y täcker 95% av data med ett förtroende på 99%.
vi hänvisar till dessa intervall som statistiska toleransintervall, för att skilja dem från toleransintervall inom teknik som beskriver gränser för acceptans, till exempel för en design eller av ett material. Generellt kommer vi att beskriva dem som helt enkelt ”toleransintervall” för enkelhets skull.
ett toleransintervall definieras i termer av två kvantiteter:
- täckning: andelen av befolkningen som omfattas av intervallet.
- förtroende: det probabilistiska förtroendet att intervallet täcker andelen av befolkningen.
toleransintervallet är konstruerat från data med två koefficienter, täckningen och toleranskoefficienten. Täckningen är den andel av befolkningen (p) som intervallet ska innehålla. Toleranskoefficienten är graden av förtroende med vilket intervallet når den angivna täckningen. Ett toleransintervall med täckning på 95% och en toleranskoefficient på 90% kommer att innehålla 95% av befolkningsfördelningen med ett förtroende på 90%.
— sidan 175, statistik för miljöingenjörer, andra upplagan, 2002.
hur man beräknar Toleransintervall
storleken på ett toleransintervall är proportionell mot storleken på dataprovet från populationen och populationens varians.
det finns två huvudmetoder för beräkning av toleransintervall beroende på fördelningen av data: parametriska och icke-parametriska metoder.
- parametriskt Toleransintervall: använd kunskap om befolkningsfördelningen för att specificera både täckning och förtroende. Används ofta för att hänvisa till en Gaussisk distribution.
- Nonparametric Tolerance Interval: använd rangstatistik för att uppskatta täckningen och förtroendet, vilket ofta resulterar i mindre precision (bredare intervall) med tanke på bristen på information om distributionen.
Toleransintervall är relativt enkla att beräkna för ett urval av oberoende observationer som dras från en Gaussisk fördelning. Vi kommer att visa denna beräkning i nästa avsnitt.
Toleransintervall för Gaussisk Distribution
i det här avsnittet kommer vi att arbeta igenom ett exempel på beräkning av toleransintervall på ett dataprov.
låt oss först definiera vårt dataprov. Vi kommer att skapa ett urval av 100 observationer från en Gaussisk fördelning med ett medelvärde på 50 och en standardavvikelse på 5.
1
2
|
# generera dataset
data = 5 * randn(100) + 50
|
under exemplet, vi antar att vi inte är medvetna om den verkliga befolkningsmedelvärdet och standardavvikelsen, och att dessa värden måste uppskattas.
eftersom populationsparametrarna måste uppskattas finns det ytterligare osäkerhet. Till exempel, för en 95% täckning, kan vi använda 1,96 (eller 2) standardavvikelser från det uppskattade medelvärdet som toleransintervallet. Vi måste uppskatta medel-och standardavvikelsen från provet och ta hänsyn till denna osäkerhet, därför är beräkningen av intervallet något mer komplex.
Därefter måste vi ange antalet frihetsgrader. Detta kommer att användas vid beräkning av kritiska värden och vid beräkning av intervallet. Specifikt används den vid beräkningen av standardavvikelsen.
Kom ihåg att frihetsgraderna är antalet värden i beräkningen som kan variera. Här har vi 100 observationer, därför 100 grader av frihet. Vi känner inte till standardavvikelsen, därför måste den beräknas med medelvärdet. Det betyder att våra frihetsgrader kommer att vara (N – 1) eller 99.
1
2
3
|
# ange frihetsgrader
n = len(data)
DOF = n – 1
|
Därefter måste vi ange proportionell täckning av data. I det här exemplet är vi intresserade av mitten av 95% av uppgifterna. Andelen är 95. Vi måste flytta denna andel så att den täcker mitten 95%, det vill säga från 2,5: e percentilen till 97,5: e percentilen.
vi vet att det kritiska värdet för 95% är 1,96 med tanke på att vi använder det så ofta; ändå kan vi beräkna det direkt i Python med tanke på procentandelen 2,5% av den inversa överlevnadsfunktionen. Detta kan beräknas med hjälp av normen.ISF () SciPy funktion.
1
2
3
4
|
# ange datatäckning
prop = 0,95
prop_inv = (1,0 – prop) / 2.0
gauss_critical = norm.ISF (prop_inv)
|
Därefter måste vi beräkna täckningens förtroende. Vi kan göra detta genom att hämta det kritiska värdet från Chi-Kvadratfördelningen för det angivna antalet frihetsgrader och önskad Sannolikhet. Vi kan använda chi2.ISF () SciPy funktion.
1
2
3
|
# ange förtroende
prob = 0,99
chi_critical = chi2.isf (q = prob, df=dof)
|
Vi har nu alla bitar för att beräkna det gaussiska toleransintervallet. Beräkningen är som följer:
1
|
intervall = sqrt((DOF * (1 + (1/n)) * gauss_critical^2) / chi_critical)
|
där DOF är numret av frihetsgrader är n storleken på dataprovet, gauss_critical är det kritiska värdet, såsom 1,96 för 95% täckning av befolkningen, och chi_critical är Chi-Kvadratkritiskt värde för önskat förtroende och frihetsgrader.
1
|
intervall = sqrt((DOF * (1 + (1/n)) * gauss_critical**2) / chi_critical)
|
Vi kan knyta allt detta tillsammans och beräkna det gaussiska toleransintervallet för vårt dataprov.
det fullständiga exemplet listas nedan.
att köra exemplet beräknar och skriver först ut relevanta kritiska värden för gaussiska och chi-kvadrerade fördelningar. Toleransen skrivs ut och presenteras sedan korrekt.
det kan också vara till hjälp att visa hur toleransintervallet kommer att minska (bli mer exakt) när provets storlek ökas.
exemplet nedan visar detta genom att beräkna toleransintervallet för olika provstorlekar för samma lilla konstruerade problem.
att köra exemplet skapar en plot som visar toleransintervallet runt det verkliga populationsmedlet.
Vi kan se att intervallet blir mindre (mer exakt) när provstorleken ökas från 5 till 15 exempel.
Error Bar Plot of Tolerance Interval vs Sample Size
Extensions
det här avsnittet innehåller några förslag på hur du kan utöka handledningen som du kanske vill utforska.
- Lista 3 fall där ett toleransintervall kan användas i ett maskininlärningsprojekt.
- leta upp en dataset med en Gaussisk variabel och beräkna toleransintervall för den.
- forskning och beskriva en metod för beräkning av ett icke-parametriskt toleransintervall.
om du utforskar någon av dessa tillägg, skulle jag gärna veta.
Vidare läsning
det här avsnittet ger mer resurser om ämnet om du vill gå djupare.
böcker
- förstå den nya statistiken: effektstorlekar, konfidensintervall och metaanalys, 2017.
- statistiska intervaller: en Guide för utövare och forskare, 2017.
API
- scipy.statistik.norm () API
- scipy.statistik.chi2 () API
- matplotlib.pyplot.errorbar () API
artiklar
- Toleransintervall på Wikipedia
- 68-95-99. 7 regel på Wikipedia
- percentil på Wikipedia
- Toleransintervall för en normalfördelning
sammanfattning
i denna handledning upptäckte du statistiska toleransintervall och hur man beräknar ett toleransintervall för gaussiska data.
specifikt lärde du dig:
- att statistiska toleransintervall ger gränser för observationer från en population.
- att ett toleransintervall kräver att både en täckningsandel och förtroende anges.
- att toleransintervallet för ett dataprov med en Gaussisk fördelning lätt kan beräknas.
har du några frågor?
Ställ dina frågor i kommentarerna nedan och jag kommer att göra mitt bästa för att svara.
ta hand om statistik för maskininlärning!
utveckla en fungerande förståelse för statistik
…genom att skriva rader kod i python
Upptäck hur i min nya Ebook:
statistiska metoder för maskininlärning
det ger självstudier handledning om ämnen som:
Hypotestester, korrelation, icke-parametriska statistik, sampling, och mycket mer…
Upptäck hur du omvandlar Data till kunskap
hoppa över akademikerna. Bara Resultat.
se vad som finns inuti