Skip to content

Instantly share code, notes, and snippets.

View robintux's full-sized avatar

Abraham Zamudio Chauca robintux

  • GMMNS
  • Lima - Peru
View GitHub Profile
import numpy as np
from collections import Counter
import matplotlib.pyplot as plt
from sklearn.decomposition import PCA
class Word2VecSimple:
"""
Implementación simplificada de Word2Vec (Skip-gram) para fines educativos.
"""
import numpy as np
from scipy import stats
import matplotlib.pyplot as plt
from typing import Tuple, Callable
class PowerFunctionOneSampleT:
"""
Calcula y visualiza la función de poder para prueba t de una muestra.
Conexión con Sesión 1:
def temporal_train_test_split(df, predictors, target, test_size=0.2):
"""
División temporal que respeta:
1. Orden cronológico (no leakage)
2. Integridad de series por país (no partir series arbitrariamente)
3. Balance de países entre train/test
"""
# Ordenar por año
df_sorted = df.sort_values('Year').reset_index(drop=True)
import pandas as pd
import numpy as np
import miceforest as mf
def impute_life_expectancy_data_robust(df):
"""
Pipeline de imputación diferenciada con manejo explícito de tipos de datos.
Soluciona el error de columnas 'object' en miceforest mediante:
1. Conversión de categóricas a tipo 'category'
2. Exclusión de identificadores del kernel MICE
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
cpython = pd.read_csv("https://github.com/robintux/Datasets4StackOverFlowQuestions/raw/refs/heads/master/cpython_commit_history_pre.csv")
# Creacion de columnas para obtener informacion temporal
cpython["date"] = pd.to_datetime(cpython["date"], utc=True)
cpython["year"] = cpython["date"].dt.year
cpython["month"] = cpython["date"].dt.to_period("M")
# Modulos y datos
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
uber = pd.read_csv("https://raw.githubusercontent.com/robintux/Datasets4StackOverFlowQuestions/refs/heads/master/Datos_Uber_2024.csv")
# Preprocesamiento
uber['Date'] = pd.to_datetime(uber['Date'], format='%Y-%m-%d')
uber['Year'] = uber['Date'].dt.year
def classical_decomposition(Y, m, model='additive'):
"""
Y: array de valores de la serie temporal
m: periodicidad estacional (ej: 12 para mensual)
model: 'additive' o 'multiplicative'
"""
n = len(Y)
T = np.zeros(n) * np.nan # Tendencia
# PASO 1: Estimación de Tendencia-Ciclo via MA centrada
import numpy as np
import matplotlib.pyplot as plt
from scipy import stats
# Parámetros comunes
np.random.seed(42)
replicas = 10000
sample_sizes = [5, 30, 100]
# --- Distribución Uniforme U(0,1) ---

Simulación de Distribución Muestral de un Dado

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
import gradio as gr
def analizar_convergencia_tlc(distribuciones, n_max=1000, n_simulaciones=10000):
"""
Analizar la velocidad de convergencia al TLC para diferentes distribuciones
"""
resultados = {}
for nombre, (dist_func, params) in distribuciones.items():
print(f"\nAnalizando: {nombre}")
# Parámetros teóricos