Skip to content
Extraits de code Groupes Projets
Valider dc7bcefc rédigé par Anzo's avatar Anzo
Parcourir les fichiers

updated stats

parent 2b81d33a
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Fichier ajouté
......@@ -3,7 +3,10 @@ import graph
from datetime import datetime
import matplotlib.pyplot as plt
import numpy as np
import stats
import scipy
import seaborn as sns
import csv
#shut up stupid warnings from not "the-most-up-to-date" libraries
import warnings
......@@ -43,6 +46,31 @@ def iteratives(N, seed, generator):
results[name] = res
return results
def write_stats(data, name):
fields=["name","quantil25", "quantil50", "quantil75", "mean"
, "variance", "skew", "exckurt"]
quantil25 = np.quantile(data,0.25)
quantil50 = np.quantile(data,0.5)
quantil75 = np.quantile(data,0.75)
mean = np.mean(data)
variance = np.var(data)
skew = scipy.stats.skew(data)
exckurt = scipy.stats.kurtosis(data) - 3
#write file
with open(name+'.csv', 'w', newline='') as csvfile:
datawriter = csv.DictWriter(csvfile, fieldnames=fields)
datawriter.writeheader()
datawriter.writerow({
"name" : name,
"quantil25" : str(quantil25),
"quantil50" : str(quantil50),
"quantil75" : str(quantil75),
"mean" : str(mean),
"variance" : str(variance),
"skew" : str(skew),
"exckurt" : str(exckurt)})
return
if __name__=="__main__":
##INIT PARAMS##
N = 100
......@@ -70,3 +98,6 @@ if __name__=="__main__":
graph.compare(0, RESOLUTION, seed
, iteratives([1000, 10, 100], seed, ParkMiller()))
print(stats.chisquared_uniform(data["ParkMiller"],N))
print(np.quantile(data["ParkMiller"],0.25))
write_stats(data["ParkMiller"],"ParkMiller")
"""
Module to calculate various value on an array
(Quantile, mean, etc..)
"""
import numpy as np
import scipy
def chisquared_uniform(arr, N):
"""
chisquared for uniform distrib
"""
_,counts = np.unique(arr, return_counts=True)
observed_freq = counts/N
#print(observed_freq)
expected_freq = np.full(shape=observed_freq.size,fill_value=1/N)
print(observed_freq),print(expected_freq)
print(np.sum(expected_freq), np.sum(observed_freq))
return scipy.stats.chisquare(observed_freq, expected_freq)
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter