Porazdelitev


In [1]:
% matplotlib inline
import numpy as np
import matplotlib.pyplot as plt

In [2]:
data = np.loadtxt ('../ratingSAMPLE.csv', delimiter=",", skiprows=0)

Graf da osnovno idejo o tem, kaj uporabiti


In [3]:
ratingsNum=list()
for number in np.arange(1,10):
    ratingsNum.append(len(data[data[:,2]==number,2]))

plt.figure()
plt.bar(np.arange(1,10),ratingsNum, 0.8, color="blue")
plt.show()


Ker imamo vnaprej dolečen interval, ki ne ustreza Gaussu najbolje, sem se odločil uporabiti beta porazdelitev


In [4]:
from scipy.stats import beta

In [5]:
a=8
b=2
n=1000

sample=beta.rvs(a, b, size=n)

xr = np.linspace(0, 1, 100)# interval X 
P  = [beta.pdf(x, a, b) for x in xr]  # porazdelitvena funkcija

# Histogram - porazdelitev naključlnih VZORCEV x glede na P(x)


plt.figure(figsize=(10, 4))
plt.subplot(1, 2, 1)
plt.title("Vzorec")
plt.hist(sample, color="red")
plt.xlabel("X")
plt.ylabel("Število primerov")

# Graf porazdelitvene funkcije
plt.subplot(1, 2, 2)
plt.title("Graf porazdelitve")
plt.plot(xr, P, color="red")   # nariši P(x)
plt.ylabel("P(x)")
plt.xlabel("X")
plt.show()


Primerjava

Prileganje smo določili za zadovoljivo natančno