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):
|
||||
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):
|
||||
summe = 0
|
||||
|
@ -124,25 +92,35 @@ def standardabweichung(werte=[], absuluteHaufigkeit={}, relativeHaufigkeiten={},
|
|||
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__':
|
||||
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}
|
||||
#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}
|
||||
werte = [(1, 2), (3, 4), (5, 6)]
|
||||
print(kovarianz(werte))
|
||||
#werte = [9, 7, 7, 6, 1]
|
||||
# haufigkeiten = {11: 3/20, 13: 1/2, 15: 1/10, 17: 1/5, 19: 1/20}
|
||||
# print("Anzahl Elemente: " , anzahlElemente(werte))
|
||||
# print("Absolute häufigkeiten: " , absoluteHaufigkeiten(werte))
|
||||
# print("RElative Haufigkeiten: ", relativeHaufigkeiten(werte))
|
||||
# print("Mittelwert: ", mittelwert(werte))
|
||||
print("q1: " ,qquantil(werte, 0.25))
|
||||
print("q2: " , qquantil(werte, 0.5))
|
||||
print("q3: " , qquantil(werte, 0.75))
|
||||
print("Interquartilsabstand: ", interqurartilsabstand(werte))
|
||||
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])
|
||||
print("Varianz: ", varianz(absoluteHaufigkeiten=haufigkeiten))
|
||||
# print("q1: " ,qquantil(werte, 0.25))
|
||||
# print("q2: " , qquantil(werte, 0.5))
|
||||
# print("q3: " , qquantil(werte, 0.75))
|
||||
# print("Interquartilsabstand: ", interqurartilsabstand(werte))
|
||||
# print("Varianz: ", varianz(absoluteHaufigkeiten=haufigkeiten))
|
||||
#print("Standardabweichung: ", standardabweichung(werte, korrigiert=True))
|
||||
# print("Mittelwert : ", mittelwert(haufigkeiten=haufigkeiten))
|
||||
# print("empirische Varianz: ", varianz(absoluteHaufigkeiten=haufigkeiten, stichprobengroesse=0, korrigiert=True))
|
Loading…
Reference in New Issue