16 Απριλίου, 1970

Στατιστικά για τα καινούρια σετ δεδομένων του ΛΟΤΤΟ. (Statistics for the new datasets of Lotto).

 

θα εργαστούμε στο πρώτο σετ δεδομένων (dataset_1), θα κάνουμε στατιστική ανάλυση και αναλύσεις που θα βοηθήσουν στην προσπάθεια της πρόβλεψης.

import numpy as np
import pandas as pd
import scipy.stats as stats

dataset_1 = np.array([0.11, 0.13, 0.07, 0.02, 0.06, 0.11, 0.1, 0.06, 0.23, 0.04,
 0.05, 0.2, 0.1, 0.07, 0.13, 0.09, 0.01, 0.03, 0.02, 0.01, 0.01, 0.03, 0.05, 0.1,
 0.04, 0.05, 0.01, 0.11, 0.15, 0.01, 0.01, 0.02, 0.06, 0.07, 0.04, 0.03, 0.05, 
0.04, 0.03, 0.04, 0.04, 0.12, 0.06, 0.04, 0.19, 0.27, 0.13, 0.01, 0.02, 0.05, 
0.02, 0.06, 0.06, 0.06, 0.03, 0.08, 0.23, 0.13, 0.13, 0.08, 0.03, 0.01, 0.1, 
0.01, 0.03, 0.03, 0.02, 0.08, 0.09, 0.03, 0.11, 0.05, 0.13, 0.07, 0.07, 0.04, 
0.18])

df = pd.DataFrame(dataset_1, columns=['Values'])
mean = df['Values'].mean()
median = df['Values'].median()
std_dev = df['Values'].std()
min_value = df['Values'].min()
max_value = df['Values'].max()
range_value = max_value - min_value
quartiles = df['Values'].quantile([0.25, 0.5, 0.75])
variance = df['Values'].var()
skewness = stats.skew(df['Values'])
kurtosis = stats.kurtosis(df['Values'])
extended_stats = {
'Mean': round(mean, 2),
'Median': round(median, 2),
'Standard Deviation': round(std_dev, 2),
'Min': round(min_value, 2),
'Max': round(max_value, 2),
'Range': round(range_value, 2),
'1st Quartile': round(quartiles[0.25], 2),
'3rd Quartile': round(quartiles[0.75], 2),
'Variance': round(variance, 2),
'Skewness': round(skewness, 2),
'Kurtosis': round(kurtosis, 2)}

print("Εκτεταμένες Στατιστικές Τιμές:")
for key, value in extended_stats.items():
print(f"{key}: {value}")
Βασικές Στατιστικές Τιμές
  1. Μέσος Όρος (Mean): 0.07 Ο μέσος όρος είναι η τιμή στην οποία θα έφταναν όλες οι τιμές του dataset αν ήταν ομοιόμορφα κατανεμημένες. Ο μέσος όρος 0.07 υποδηλώνει ότι, κατά μέσο όρο, οι τιμές στο dataset τείνουν να είναι περίπου 0.07.

  2. Διάμεσος (Median): 0.06 Η διάμεσος είναι η μεσαία τιμή του dataset όταν είναι ταξινομημένο σε αύξουσα σειρά. Δεδομένου ότι η διάμεσος είναι ελαφρώς μικρότερη από τον μέσο όρο, αυτό υποδηλώνει ότι το dataset έχει κάποιες υψηλότερες τιμές που αυξάνουν τον μέσο όρο.

  3. Τυπική Απόκλιση (Standard Deviation): 0.06 Η τυπική απόκλιση μετράει την εξάπλωση των τιμών γύρω από τον μέσο όρο. Μια τυπική απόκλιση 0.06 σημαίνει ότι οι περισσότερες τιμές στο dataset βρίσκονται σε απόσταση 0.06 από τον μέσο όρο.

  4. Ελάχιστη Τιμή (Min): 0.01 Η μικρότερη τιμή στο dataset είναι 0.01. Αυτό δείχνει ότι το dataset περιέχει κάποιες πολύ μικρές τιμές.

  5. Μέγιστη Τιμή (Max): 0.27 Η μεγαλύτερη τιμή στο dataset είναι 0.27. Αυτό δείχνει ότι το dataset περιέχει κάποιες υψηλές τιμές.

Εκτεταμένες Στατιστικές Τιμές
  1. Εύρος (Range): 0.26 Το εύρος είναι η διαφορά μεταξύ της μέγιστης και της ελάχιστης τιμής. Ένα εύρος 0.26 σημαίνει ότι υπάρχει σημαντική διακύμανση στο dataset.

  2. 1ο Τεταρτημόριο (1st Quartile): 0.03 Το πρώτο τεταρτημόριο είναι η τιμή κάτω από την οποία βρίσκεται το 25% των δεδομένων. Ένα 1ο τεταρτημόριο 0.03 υποδηλώνει ότι το 25% των τιμών είναι μικρότερο ή ίσο με 0.03.

  3. 3ο Τεταρτημόριο (3rd Quartile): 0.10 Το τρίτο τεταρτημόριο είναι η τιμή κάτω από την οποία βρίσκεται το 75% των δεδομένων. Ένα 3ο τεταρτημόριο 0.10 υποδηλώνει ότι το 75% των τιμών είναι μικρότερο ή ίσο με 0.10.

  4. Διακύμανση (Variance): 0.00 Η διακύμανση μετράει την εξάπλωση των τιμών γύρω από τον μέσο όρο. Μια διακύμανση 0.00 δείχνει ότι οι τιμές είναι πολύ κοντά στον μέσο όρο, κάτι που είναι σπάνιο και μπορεί να οφείλεται σε στρογγυλοποίηση.

  5. Ασυμμετρία (Skewness): 1.37 Η ασυμμετρία μετράει την κατεύθυνση και το μέγεθος της ουράς της κατανομής. Μια τιμή 1.37 υποδηλώνει ότι η κατανομή έχει μια μακριά ουρά προς τα δεξιά, που σημαίνει ότι υπάρχουν κάποιες υψηλότερες τιμές που τραβούν την κατανομή προς τα δεξιά.

  6. Κύρτωση (Kurtosis): 1.73 Η κύρτωση μετράει την "αιχμηρότητα" της κατανομής. Μια τιμή 1.73 υποδηλώνει ότι η κατανομή είναι πιο αιχμηρή από μια κανονική κατανομή, με περισσότερες τιμές συγκεντρωμένες γύρω από τον μέσο όρο και πιο έντονες ουρές.


Εκτεταμένες Στατιστικές Τιμές:
Mean: 0.07
Median: 0.06
Standard Deviation: 0.06
Min: 0.01
Max: 0.27
Range: 0.26
1st Quartile: 0.03
3rd Quartile: 0.1
Variance: 0.0
Skewness: 1.37
Kurtosis: 1.73

Συνολική Ερμηνεία:

  • Το dataset περιέχει μικρές τιμές με μέσο όρο 0.07 και διάμεσο 0.06.
  • Οι τιμές είναι συγκεντρωμένες γύρω από τον μέσο όρο με τυπική απόκλιση 0.06.
  • Υπάρχουν σημαντικές διακυμάνσεις στο dataset όπως φαίνεται από το εύρος 0.26.
  • Το dataset έχει θετική ασυμμετρία και είναι πιο αιχμηρό από την κανονική κατανομή.
  • Τα υψηλά quartiles (0.10 για το 3ο τεταρτημόριο) δείχνουν ότι οι περισσότερες τιμές είναι συγκεντρωμένες σε χαμηλά επίπεδα, με λίγες υψηλότερες τιμές να επηρεάζουν τη συνολική κατανομή.

# Δημιουργία DataFrame
df = pd.DataFrame(dataset_1, columns=['Values'])

# Υπολογισμός αυτοσυσχέτισης
acf_values = acf(df['Values'], nlags=20)

# Εκτύπωση αποτελεσμάτων
print("\nΑυτοσυσχέτιση για τις πρώτες 20 καθυστερήσεις (lags):")
for lag, value in enumerate(acf_values):
print(f"Lag {lag}: {value:.2f}")
Ερμηνεία των Αποτελεσμάτων:
  1. Lag 0:Η τιμή αυτοσυσχέτισης για το Lag 0 είναι πάντα 1.00, καθώς συγκρίνει τη σειρά με τον εαυτό της.

  2. Lag 1:Η τιμή 0.27 για το Lag 1 δείχνει θετική συσχέτιση με την προηγούμενη τιμή. Αυτό υποδηλώνει ότι οι τιμές τείνουν να επηρεάζονται θετικά από την προηγούμενη τιμή.

  3. Lag 2 και 3:Οι τιμές για τα Lag 2 και 3 (-0.02 και 0.07 αντίστοιχα) είναι κοντά στο μηδέν, υποδηλώνοντας αδύναμη συσχέτιση.

  4. Lag 4 έως 10:Οι τιμές αυτοσυσχέτισης για αυτές τις καθυστερήσεις κυμαίνονται από -0.19 έως 0.09, δείχνοντας ότι δεν υπάρχει ισχυρή συσχέτιση.

  5. Lag 11 έως 17:Εδώ παρατηρούμε κάποιες εναλλαγές με θετικές συσχετίσεις στα Lag 11, 12, 13 και 17, υποδηλώνοντας κάποια περιοδικά μοτίβα, αλλά με σχετικά χαμηλές τιμές.

  6. Lag 18 έως 20:Οι τιμές είναι και πάλι κοντά στο μηδέν ή αρνητικές, δείχνοντας αδύναμη ή καθόλου συσχέτιση.

Αυτοσυσχέτιση για τις πρώτες 20 καθυστερήσεις (lags):

Lag 0: 1.00
Lag 1: 0.27
Lag 2: -0.02
Lag 3: 0.07
Lag 4: 0.03
Lag 5: -0.10
Lag 6: -0.04
Lag 7: -0.16
Lag 8: -0.19
Lag 9: -0.17
Lag 10: -0.05
Lag 11: 0.09
Lag 12: 0.14
Lag 13: 0.10
Lag 14: 0.10
Lag 15: -0.10
Lag 16: -0.01
Lag 17: 0.14
Lag 18: -0.04
Lag 19: -0.14
Lag 20: -0.08
Συμπεράσματα:

  • Υπάρχει μια ισχυρή θετική αυτοσυσχέτιση στο Lag 1 (0.27), υποδηλώνοντας ότι οι τρέχουσες τιμές επηρεάζονται από τις προηγούμενες τιμές.
  • Για τα υπόλοιπα Lags, οι τιμές της αυτοσυσχέτισης είναι είτε αρνητικές είτε κοντά στο μηδέν, υποδεικνύοντας ότι δεν υπάρχει ισχυρή συσχέτιση.
# Δημιουργία DataFrame
df = pd.DataFrame(dataset_1, columns=['Values'])

# Εκτέλεση της δοκιμής Ljung-Box για κάθε lag μέχρι 20
ljung_box_test = acorr_ljungbox(df['Values'], lags=20, return_df=True)

# Εκτύπωση αναλυτικών αποτελεσμάτων
print("\nΑναλυτικά αποτελέσματα της Δοκιμής Ljung-Box για τις πρώτες 20 καθυστερήσεις (lags):")
for i in range(20):
lb_stat = ljung_box_test['lb_stat'].values[i]
p_value = ljung_box_test['lb_pvalue'].values[i]
print(f"Lag {i+1}: Ljung-Box Statistic = {lb_stat:.2f}, p-Value = {p_value:.2f}")
Ερμηνεία των Αποτελεσμάτων:
  1. Lag 1:Η τιμή p-value είναι 0.02, που είναι μικρότερη από 0.05, υποδηλώνοντας ότι υπάρχει στατιστικά σημαντική αυτοσυσχέτιση σε αυτή την καθυστέρηση.

  2. Lag 2:Η τιμή p-value είναι 0.05, που είναι οριακά ίση με το 0.05, υποδηλώνοντας πιθανή στατιστικά σημαντική αυτοσυσχέτιση.

  3. Lag 3 έως Lag 20:Οι τιμές p-value είναι μεγαλύτερες από 0.05, υποδηλώνοντας ότι δεν υπάρχει στατιστικά σημαντική αυτοσυσχέτιση σε αυτές τις καθυστερήσεις.

Συμπέρασμα:
  • Υπάρχει στατιστικά σημαντική αυτοσυσχέτιση στο Lag 1, και οριακά στο Lag 2.
  • Για τις υπόλοιπες καθυστερήσεις, οι τιμές p-value είναι μεγαλύτερες από 0.05, υποδηλώνοντας ότι τα δεδομένα είναι πιθανώς τυχαία.
Αναλυτικά αποτελέσματα της Δοκιμής Ljung-Box 
για τις πρώτες 20 καθυστερήσεις (lags):
Lag 1: Ljung-Box Statistic = 5.84, p-Value = 0.02
Lag 2: Ljung-Box Statistic = 5.89, p-Value = 0.05
Lag 3: Ljung-Box Statistic = 6.33, p-Value = 0.10
Lag 4: Ljung-Box Statistic = 6.40, p-Value = 0.17
Lag 5: Ljung-Box Statistic = 7.23, p-Value = 0.20
Lag 6: Ljung-Box Statistic = 7.34, p-Value = 0.29
Lag 7: Ljung-Box Statistic = 9.65, p-Value = 0.21
Lag 8: Ljung-Box Statistic = 12.73, p-Value = 0.12
Lag 9: Ljung-Box Statistic = 15.22, p-Value = 0.08
Lag 10: Ljung-Box Statistic = 15.44, p-Value = 0.12
Lag 11: Ljung-Box Statistic = 16.24, p-Value = 0.13
Lag 12: Ljung-Box Statistic = 18.01, p-Value = 0.12
Lag 13: Ljung-Box Statistic = 18.97, p-Value = 0.12
Lag 14: Ljung-Box Statistic = 19.89, p-Value = 0.13
Lag 15: Ljung-Box Statistic = 20.91, p-Value = 0.14
Lag 16: Ljung-Box Statistic = 20.92, p-Value = 0.18
Lag 17: Ljung-Box Statistic = 22.81, p-Value = 0.16
Lag 18: Ljung-Box Statistic = 22.96, p-Value = 0.19
Lag 19: Ljung-Box Statistic = 24.89, p-Value = 0.16
Lag 20: Ljung-Box Statistic = 25.51, p-Value = 0.18