Added new functions
This commit is contained in:
parent
ac80d2bba0
commit
5e14a0e059
|
@ -0,0 +1,42 @@
|
||||||
|
import DeskriptiveStatistik as ds
|
||||||
|
|
||||||
|
def obereAntenne_obereAusreisser(werte):
|
||||||
|
werteSortiert = sorted(werte)
|
||||||
|
resultat = ["",[]]
|
||||||
|
maxAntenne = (ds.qquantil(werte, 0.75) + ds.interqurartilsabstand(werteSortiert) * 1.5)
|
||||||
|
if(max(werteSortiert) > maxAntenne):
|
||||||
|
for i in range(len(werteSortiert)):
|
||||||
|
wert = werteSortiert[i]
|
||||||
|
if(i+1 == len(werteSortiert)):
|
||||||
|
resultat[1].append(wert)
|
||||||
|
elif(werteSortiert[i+1] > maxAntenne) and resultat[0] == "":
|
||||||
|
resultat[0] = wert
|
||||||
|
elif(werteSortiert[i+1] > maxAntenne):
|
||||||
|
resultat[1].append(wert)
|
||||||
|
else:
|
||||||
|
resultat[0] = max(werteSortiert)
|
||||||
|
return resultat
|
||||||
|
|
||||||
|
def untereAntenne_untereAusreisser(werte):
|
||||||
|
werteSortiert = sorted(werte, reverse=True)
|
||||||
|
resultat = ["",[]]
|
||||||
|
maxAntenne = (ds.qquantil(werte, 0.25) - ds.interqurartilsabstand(werteSortiert) * 1.5)
|
||||||
|
if(min(werteSortiert) < maxAntenne):
|
||||||
|
for i in range(len(werteSortiert)):
|
||||||
|
wert = werteSortiert[i]
|
||||||
|
if(i+1 == len(werteSortiert)):
|
||||||
|
resultat[1].append(wert)
|
||||||
|
elif(werteSortiert[i+1] < maxAntenne) and resultat[0] == "":
|
||||||
|
resultat[0] = wert
|
||||||
|
elif(werteSortiert[i+1] < maxAntenne):
|
||||||
|
resultat[1].append(wert)
|
||||||
|
else:
|
||||||
|
resultat[0] = min(werteSortiert)
|
||||||
|
return resultat
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
werte = [12, -5, 5, 52, -6, -5, 8, -7, 22, -46, 8, -14, 5, 47]
|
||||||
|
print("obere Antenne: ", obereAntenne_obereAusreisser(werte)[0])
|
||||||
|
print("obere Ausreisser: ", obereAntenne_obereAusreisser(werte)[1])
|
||||||
|
print("untere Antenne: ", untereAntenne_untereAusreisser(werte)[0])
|
||||||
|
print("untere Ausreisser: ", untereAntenne_untereAusreisser(werte)[1])
|
|
@ -57,39 +57,7 @@ def median(werte):
|
||||||
def interqurartilsabstand(werte):
|
def interqurartilsabstand(werte):
|
||||||
return qquantil(werte, 0.75) - qquantil(werte, 0.25)
|
return qquantil(werte, 0.75) - qquantil(werte, 0.25)
|
||||||
|
|
||||||
def obereAntenne_obereAusreisser(werte):
|
|
||||||
werteSortiert = sorted(werte)
|
|
||||||
resultat = ["",[]]
|
|
||||||
maxAntenne = (qquantil(werte, 0.75) + interqurartilsabstand(werteSortiert) * 1.5)
|
|
||||||
if(max(werteSortiert) > maxAntenne):
|
|
||||||
for i in range(len(werteSortiert)):
|
|
||||||
wert = werteSortiert[i]
|
|
||||||
if(i+1 == len(werteSortiert)):
|
|
||||||
resultat[1].append(wert)
|
|
||||||
elif(werteSortiert[i+1] > maxAntenne) and resultat[0] == "":
|
|
||||||
resultat[0] = wert
|
|
||||||
elif(werteSortiert[i+1] > maxAntenne):
|
|
||||||
resultat[1].append(wert)
|
|
||||||
else:
|
|
||||||
resultat[0] = max(werteSortiert)
|
|
||||||
return resultat
|
|
||||||
|
|
||||||
def untereAntenne_untereAusreisser(werte):
|
|
||||||
werteSortiert = sorted(werte, reverse=True)
|
|
||||||
resultat = ["",[]]
|
|
||||||
maxAntenne = (qquantil(werte, 0.25) - interqurartilsabstand(werteSortiert) * 1.5)
|
|
||||||
if(min(werteSortiert) < maxAntenne):
|
|
||||||
for i in range(len(werteSortiert)):
|
|
||||||
wert = werteSortiert[i]
|
|
||||||
if(i+1 == len(werteSortiert)):
|
|
||||||
resultat[1].append(wert)
|
|
||||||
elif(werteSortiert[i+1] < maxAntenne) and resultat[0] == "":
|
|
||||||
resultat[0] = wert
|
|
||||||
elif(werteSortiert[i+1] < maxAntenne):
|
|
||||||
resultat[1].append(wert)
|
|
||||||
else:
|
|
||||||
resultat[0] = min(werteSortiert)
|
|
||||||
return resultat
|
|
||||||
|
|
||||||
def varianz(werte=[], absoluteHaufigkeiten={}, relativeHaufigkeiten={}, pdf={}, stichprobengroesse=0, korrigiert=False):
|
def varianz(werte=[], absoluteHaufigkeiten={}, relativeHaufigkeiten={}, pdf={}, stichprobengroesse=0, korrigiert=False):
|
||||||
summe = 0
|
summe = 0
|
||||||
|
@ -124,25 +92,35 @@ def standardabweichung(werte=[], absuluteHaufigkeit={}, relativeHaufigkeiten={},
|
||||||
return np.sqrt(varianz(werte, absuluteHaufigkeit, relativeHaufigkeiten, pdf, stichprobengroesse, korrigiert))
|
return np.sqrt(varianz(werte, absuluteHaufigkeit, relativeHaufigkeiten, pdf, stichprobengroesse, korrigiert))
|
||||||
|
|
||||||
|
|
||||||
|
def kovarianz(werte=[]):
|
||||||
|
summe = 0
|
||||||
|
n = len(werte)
|
||||||
|
xMittel = mittelwert([wert[0] for wert in werte])
|
||||||
|
yMittel = mittelwert([wert[1] for wert in werte])
|
||||||
|
for wert in werte:
|
||||||
|
x = wert[0]
|
||||||
|
y = wert[1]
|
||||||
|
summe = summe + ((x - xMittel) * (y - yMittel))
|
||||||
|
return summe / n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
werte = [12, -5, 5, 52, -6, -5, 8, -7, 22, -46, 8, -14, 5, 47]
|
#werte = [12, -5, 5, 52, -6, -5, 8, -7, 22, -46, 8, -14, 5, 47]
|
||||||
haufigkeiten = {0: 6, 1: 6, 2: 3, 3: 5, 8: 6}
|
#haufigkeiten = {0: 6, 1: 6, 2: 3, 3: 5, 8: 6}
|
||||||
|
werte = [(1, 2), (3, 4), (5, 6)]
|
||||||
|
print(kovarianz(werte))
|
||||||
#werte = [9, 7, 7, 6, 1]
|
#werte = [9, 7, 7, 6, 1]
|
||||||
# haufigkeiten = {11: 3/20, 13: 1/2, 15: 1/10, 17: 1/5, 19: 1/20}
|
# haufigkeiten = {11: 3/20, 13: 1/2, 15: 1/10, 17: 1/5, 19: 1/20}
|
||||||
# print("Anzahl Elemente: " , anzahlElemente(werte))
|
# print("Anzahl Elemente: " , anzahlElemente(werte))
|
||||||
# print("Absolute häufigkeiten: " , absoluteHaufigkeiten(werte))
|
# print("Absolute häufigkeiten: " , absoluteHaufigkeiten(werte))
|
||||||
# print("RElative Haufigkeiten: ", relativeHaufigkeiten(werte))
|
# print("RElative Haufigkeiten: ", relativeHaufigkeiten(werte))
|
||||||
# print("Mittelwert: ", mittelwert(werte))
|
# print("Mittelwert: ", mittelwert(werte))
|
||||||
print("q1: " ,qquantil(werte, 0.25))
|
# print("q1: " ,qquantil(werte, 0.25))
|
||||||
print("q2: " , qquantil(werte, 0.5))
|
# print("q2: " , qquantil(werte, 0.5))
|
||||||
print("q3: " , qquantil(werte, 0.75))
|
# print("q3: " , qquantil(werte, 0.75))
|
||||||
print("Interquartilsabstand: ", interqurartilsabstand(werte))
|
# print("Interquartilsabstand: ", interqurartilsabstand(werte))
|
||||||
print("obere Antenne: ", obereAntenne_obereAusreisser(werte)[0])
|
# print("Varianz: ", varianz(absoluteHaufigkeiten=haufigkeiten))
|
||||||
print("obere Ausreisser: ", obereAntenne_obereAusreisser(werte)[1])
|
|
||||||
print("untere Antenne: ", untereAntenne_untereAusreisser(werte)[0])
|
|
||||||
print("untere Ausreisser: ", untereAntenne_untereAusreisser(werte)[1])
|
|
||||||
print("Varianz: ", varianz(absoluteHaufigkeiten=haufigkeiten))
|
|
||||||
#print("Standardabweichung: ", standardabweichung(werte, korrigiert=True))
|
#print("Standardabweichung: ", standardabweichung(werte, korrigiert=True))
|
||||||
# print("Mittelwert : ", mittelwert(haufigkeiten=haufigkeiten))
|
# print("Mittelwert : ", mittelwert(haufigkeiten=haufigkeiten))
|
||||||
# print("empirische Varianz: ", varianz(absoluteHaufigkeiten=haufigkeiten, stichprobengroesse=0, korrigiert=True))
|
# print("empirische Varianz: ", varianz(absoluteHaufigkeiten=haufigkeiten, stichprobengroesse=0, korrigiert=True))
|
Loading…
Reference in New Issue