<jupyter_start><jupyter_text>Introduccion.El objetivo de este post es demostrar la principales diferencias entre un aproximamiento al analisis de datos desde el frecuentismo y el bayesianismo, dos escuelas estadisticas que comparten metodos pero que en el fondo interpretan los datos de una manera totalmente diferente.Este post sera el primero de una serie de post donde ilustrare la parte mas practica de la programacion probabilistica y la inferencia bayesiana aplicada al Machine learning y al analisis de datos.  Diferencias filosoficas. La principal muestra diferentatoria entre las dos teorias es la manera en el concepto de probabilidad.Para los frecuentistas la probabilidad representa unica y exclusivamente un caso de mediciones repetidas sobre una muestra de datos que es aleatoria, si queremos medir una cantidad $X$ de un proceso aleatorio o a priori aleatorio, repetimos la medicion una y otra vez, cada vez que repetimos dicha medicion obtenemos diferentes resultados; Estas diferencias se deben principalmente a el error estadistico o de medida (sesgos);Si nos vamos a los extremos de esta repeticion de medicciones, la frecuencia que tiene cualquier valor sobre esa cantidad $X$ es lo que llamamos frecuencia, y tiene una relacion estrecha con la probabilidad pues una probabilidad es el la cuenta del numero de eventos observados, entonces el frecuentista habla de $X$ como de un valor fijo.Para los bayesianos, la probabilidad es una manera de cuantificar el grado de creencia sobre los hechos; $X$ puede ser medido con una probabilidad $P(X)$, si bien es cierto que esta probabilidad puede ser medida de las frecuencias dado una gran cantidad de datos, esto es lo que no queremos hacer, el big data ha hecho que la diferencia entre estas dos vertientes de conocimiento no se distingan bien, pero que pasa cuando los datos son pequenos y no podemos tener a mano las frecuencias?, los bayesianos imponen restricciones al modelo y las probabilidades se transforman a una forma de relacionar la nuestro conocimiento (restricciones) con un evento. De que nos sirve esto?, muy facil, ahora $X$ no es un valor unico , la probabilidad codifica nuestro conocimiento a priori con la informacion que tenemos disponible (mucha o poca) y hablamos de un rango de valores para $X$, lo cual puede ser de gran utilidad en el caso del "tiny data" que he citado anteriormente.<jupyter_code>import numpy as np
from scipy import stats
import statsmodels.api as sm
from statsmodels.base.model import GenericLikelihoodModel

%matplotlib inline
import matplotlib.pyplot as plt



true_val = 2500
N = 50 # number of measurements
F = stats.poisson(true_val).rvs(N)
e = np.sqrt(F)  # errors on Poisson counts estimated via square root


fig, ax = plt.subplots()
ax.errorbar(F, np.arange(N), xerr=e, fmt='ok', ecolor='blue', alpha=0.4)
ax.vlines([true_val], 0, N, linewidth=5, alpha=0.2)
ax.set_xlabel("value");ax.set_ylabel("# measures");
from scipy.stats import rv_continious
sm_probit_manual = MaxLikelihood(F, exog).fit()
print(sm_probit_manual.summary())<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.04769630110317975, 'fraction_numerical': 0.003893575600259572, 'mean_word_length': 5.3962655601659755, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '1', 'dir': 'jupyter-structured-clean-dedup', 'id': '462334', 'license': 'MIT', 'n_tokens_mistral': 930, 'n_tokens_neox': 918, 'n_words': 439, 'path': 'content/downloads/notebooks/Bayesian Machine Learning I: Bajo la capa de Bayes.ipynb', 'repo_name': 'BlastingJavier/BlastingJavier.github.io', 'size': '3082'}