{"id":164810,"date":"2026-01-28T13:13:13","date_gmt":"2026-01-28T12:13:13","guid":{"rendered":"https:\/\/liora.io\/es\/?p=164810"},"modified":"2026-02-26T12:46:55","modified_gmt":"2026-02-26T11:46:55","slug":"statsmodels-todo-acerca","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/statsmodels-todo-acerca","title":{"rendered":"Statsmodels : todo acerca de la biblioteca de Python"},"content":{"rendered":"\n<p><strong>Si alguna vez has intentado modelar series temporales, probablemente habr\u00e1s o\u00eddo hablar de los modelos ARMA o ARIMA. En Python la biblioteca m\u00e1s utilizada para esto es statsmodels. En este art\u00edculo presentaremos r\u00e1pidamente los usos de statsmodels y algunos ejemplos de uso.<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-que-hacer-con-statsmodels\">\u00bfQu\u00e9 hacer con statsmodels?<\/h2>\n\n\n\n<p>Statsmodels es una biblioteca <b>de an\u00e1lisis y modelado de datos estad\u00edsticos<\/b>. Ofrece una serie de funcionalidades que no se encuentran en bibliotecas m\u00e1s tradicionales como <a href=\"https:\/\/scikit-learn.org\/stable\/\">sklearn<\/a>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-regresion-lineal\">Regresi\u00f3n lineal<\/h3>\n\n\n\n<p>En primer lugar, statsmodels completa en gran medida la <b>regresi\u00f3n lineal<\/b> cl\u00e1sica proponiendo nuevos estimadores de <b>m\u00ednimos cuadrados<\/b>. Normalmente, se utilizan los m\u00ednimos cuadrados ordinarios (OLS) para estimar la regresi\u00f3n lineal. Sin embargo, en el caso de que algunos residuos est\u00e9n correlacionados, la regresi\u00f3n lineal deja de ser eficaz. Los <b>m\u00ednimos cuadrados generalizados<\/b> (GLS) pueden entonces ayudar a resolver este problema.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/02\/pasted-image-0.png\" alt=\"\" \/><figcaption class=\"wp-element-caption\">Ejemplo de regresi\u00f3n lineal OLS<\/figcaption><\/figure>\n\n\n\n<p>Paralelamente a este m\u00e9todo, statsmodels presenta otros dos estimadores de m\u00ednimos cuadrados ordinarios m\u00e1s complejos : m\u00ednimos cuadrados recursivos (RLS) y m\u00ednimos cuadrados m\u00f3viles (MLS).<\/p>\n\n\n\n<p>Adem\u00e1s, la regresi\u00f3n lineal cl\u00e1sica impone <b>una serie de supuestos<\/b> que deben comprobarse durante el proceso. Statsmodels presenta diferentes <b>pruebas estad\u00edsticas<\/b> que permiten comprobar :<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>La no multicolinealidad de las variables<\/li>\n\n\n\n<li>La homocedasticidad (prueba de Breusch-Pagan)<\/li>\n\n\n\n<li>La normalidad de los residuos (prueba de Jarque-Bera)<\/li>\n<\/ul>\n\n\n\n<p>Veamos un ejemplo de aplicaci\u00f3n en <a href=\"https:\/\/liora.io\/es\/python-o-r-que-elegir\">Python<\/a> :<\/p>\n\n\n\n<pre class=\"wp-block-code has-xsmall-font-size\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><code>import statsmodels.api as sm\nmodel = sm.OLS(y, x).fit()  #R\u00e9gression avec les moindre carr\u00e9s ordinaires (OLS)\nresiduals = model.resid # On acc\u00e8de aux r\u00e9sidus du mod\u00e8le\ntest = sms.jarque_bera(residual) #Test de normalit\u00e9<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-modelos-lineales-generalizados\">Modelos lineales generalizados<\/h2>\n\n\n\n<p>Paralelamente, la biblioteca statsmodels permite utilizar <b>modelos lineales generalizados (GLM)<\/b>, que son una generalizaci\u00f3n de la regresi\u00f3n lineal cl\u00e1sica.<\/p>\n\n\n\n<p>De hecho, la regresi\u00f3n lineal supone que la variable en cuesti\u00f3n sigue una distribuci\u00f3n normal (supuesto impuesto por la normalidad de los residuos). En el caso del GLM, se puede utilizar cualquier distribuci\u00f3n de la familia exponencial.<\/p>\n\n\n\n<p>Adem\u00e1s, el GLM vincula la variable en cuesti\u00f3n con el modelo a trav\u00e9s de una <b>funci\u00f3n de enlace<\/b>, lo que permite que la regresi\u00f3n lineal cl\u00e1sica sea a\u00fan m\u00e1s flexible.<\/p>\n\n\n\n<p>Un caso concreto de modelo lineal generalizado es la regresi\u00f3n log\u00edstica. La variable en cuesti\u00f3n sigue <b>una distribuci\u00f3n binomial<\/b> y se utiliza una funci\u00f3n de enlace <b>logit<\/b>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/02\/pasted-image-0-1.png\" alt=\"\" \/><figcaption class=\"wp-element-caption\">Ejemplo de regresi\u00f3n log\u00edstica<\/figcaption><\/figure>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/formacion-data-scientist\">M\u00e1s informaci\u00f3n sobre el curso de Data Scientist<\/a><\/div>\n<\/div>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-series-temporales\">Series temporales<\/h3>\n\n\n\n<p>Statsmodels presenta, concretamente, muchas herramientas muy \u00fatiles y completas a la hora de estudiar las series temporales.<\/p>\n\n\n\n<p>En primer lugar, la <b>descomposici\u00f3n tendencia-estacionalidad-residuo<\/b>. Si no est\u00e1s familiarizado con estos componentes cl\u00e1sicos de las series temporales, te invitamos a ver nuestro art\u00edculo sobre <b>series temporales<\/b>.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter\" style=\"margin-top:var(--wp--preset--spacing--columns);margin-bottom:var(--wp--preset--spacing--columns)\"><img decoding=\"async\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2021\/02\/pasted-image-0-2-1024x760.png\" alt=\"\" style=\"object-fit:cover\" \/><figcaption class=\"wp-element-caption\">Ejemplo de desglose<\/figcaption><\/figure>\n\n\n\n<p>Esta funcionalidad permite ver de un vistazo la influencia de los diferentes componentes en nuestro modelo, pero tambi\u00e9n visualizar los residuos para tener una primera idea sobre su <b>estacionalidad<\/b>.<\/p>\n\n\n\n<p>Statsmodels tambi\u00e9n implementa dos pruebas estad\u00edsticas para comprobar la estacionalidad de las series temporales : la prueba <strong>Augmented Dickey-Fuller<\/strong> (ADF) y <strong>la prueba KPSS<\/strong> (Kwiatkowski-Phillips-Schmidt-Shin).<\/p>\n\n\n\n<p>Por \u00faltimo, pero no por ello menos importante, statsmodels ofrece toda una gama de modelos cl\u00e1sicos para<b> modelar series temporales <\/b>:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Procesos autorregresivos<\/li>\n\n\n\n<li>Medias m\u00f3viles<\/li>\n\n\n\n<li>ARMA y ARIMA<\/li>\n\n\n\n<li>SARIMA, SARIMAX, VARIMAX<\/li>\n<\/ul>\n\n\n\n<p>SARIMAX es sencillamente un proceso SARIMA que utiliza variables ex\u00f3genas en paralelo para predecir la serie temporal. Mientras que el proceso VARIMAX es un ARIMAX vectorizado que, por tanto, permite predecir m\u00faltiples valores al mismo tiempo.<\/p>\n\n\n\n<p>Adem\u00e1s de las caracter\u00edsticas presentadas en este art\u00edculo, la biblioteca statsmodels ofrece muchas posibilidades adicionales y sigue creciendo. Para m\u00e1s informaci\u00f3n, se proporciona su documentaci\u00f3n que incluye muchos ejemplos detallados.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-conclusion\">Conclusi\u00f3n<\/h2>\n\n\n\n<p>Statsmodels es una herramienta esencial para el estadista o el <a href=\"https:\/\/liora.io\/es\/formacion-data-scientist\">Data Scientist<\/a>, sobre todo cuando para el estudio de las series temporales. Su sintaxis, f\u00e1cil de entender y reproducible, permite utilizar, modelar y explorar las series estad\u00edsticas sin dificultad.<\/p>\n\n\n\n<p>Sin embargo, las herramientas que debe dominar un <strong>Data Scientist<\/strong> abarcan temas mucho m\u00e1s amplios (<a href=\"https:\/\/liora.io\/es\/dataviz-definicion-objetivos-y-usos\">Data Visualization<\/a>, <a href=\"https:\/\/liora.io\/es\/machine-learning-definicion-funcionamiento-usos\">Machine Learning<\/a>, <a href=\"https:\/\/liora.io\/es\/deep-learning-definicion\">Deep Learning<\/a>, etc.) que te invitamos a descubrir en nuestro <a href=\"https:\/\/liora.io\/es\/formacion-data-scientist\">curso de Data Scientist<\/a>.\u00a0<\/p>\n\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex is-content-justification-center\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\">Descubrir nuestros cursos de Data<\/a><\/div>\n<\/div>\n\n\n\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"\u00bfQu\u00e9 hacer con statsmodels?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Statsmodels es una biblioteca Python para an\u00e1lisis y modelado de datos estad\u00edsticos, complementando a sklearn con funcionalidades espec\u00edficas: regresi\u00f3n lineal (m\u00ednimos cuadrados ordinarios OLS, generalizados GLS, recursivos RLS, m\u00f3viles MLS), pruebas estad\u00edsticas (multicolinealidad, homocedasticidad con Breusch-Pagan, normalidad residuos con Jarque-Bera), modelos lineales generalizados GLM (regresi\u00f3n log\u00edstica, cualquier distribuci\u00f3n familia exponencial, funci\u00f3n enlace), series temporales (descomposici\u00f3n tendencia-estacionalidad-residuo, pruebas estacionalidad ADF y KPSS, modelos ARMA, ARIMA, SARIMA, SARIMAX, VARIMAX).\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Conclusi\u00f3n\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Statsmodels es esencial para estadistas y Data Scientists, especialmente en series temporales. Sintaxis f\u00e1cil, reproducible, permite modelar y explorar series estad\u00edsticas sin dificultad. Liora ofrece curso Data Scientist para dominar herramientas m\u00e1s amplias (Data Visualization, Machine Learning, Deep Learning).\"\n      }\n    }\n  ]\n}\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>Si alguna vez has intentado modelar series temporales, probablemente habr\u00e1s o\u00eddo hablar de los modelos ARMA o ARIMA. En Python la biblioteca m\u00e1s utilizada para esto es statsmodels. En este art\u00edculo presentaremos r\u00e1pidamente los usos de statsmodels y algunos ejemplos de uso.<\/p>\n","protected":false},"author":85,"featured_media":164811,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2440],"class_list":["post-164810","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ia"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/164810","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/85"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=164810"}],"version-history":[{"count":5,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/164810\/revisions"}],"predecessor-version":[{"id":184441,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/164810\/revisions\/184441"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/164811"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=164810"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=164810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}