Одномерная регрессия в питоне

Необходимо запустить несколько однофакторных (одномерных) регрессионных моделей в python между столбцом в фрейме данных и несколькими другими столбцами в одном фрейме данных.

-

Одномерная регрессия в питоне

поэтому, основываясь на изображении, я хочу запустить модели регрессии между x1 и dep, x2 и dep и т. д. и т. д.

Хотите вывести - бета, перехват, R-sq, p-значение, SSE, AIC, BIC, проверка нормальности остатков и т. д.

Пожалуйста, покажите, что вы пробовали и где вы столкнулись с проблемой.

quest 08.07.2019 09:36

Я сделал это упражнение на SAS Base 9.4. Однако я пытаюсь сделать это на python. вы можете увидеть, как выглядит мой фрейм данных, на основе изображения, которое я загрузил в сообщении. Дайте мне знать ваше решение?

Srini 08.07.2019 10:20
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
2
1 144
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Здесь можно использовать два варианта. Одной из них является популярная библиотека научное обучение. Он используется следующим образом

from sklearn.linear_model import LinearRegression
model = LinearRegression()
model.fit(X, y)  # where X is your feature data and y is your target
reg.score(X, y)  # R^2 value
>>> 0.87
reg.coef_  # slope coeficients
>>> array([1.45, -9.2])
reg.intercept_  # intercept
>>> 6.1723...

Есть не так много других статистических данных, которые вы можете использовать с scikit.

Другим вариантом является статистические модели, который предлагает гораздо более подробную статистику модели.

import numpy as np
import statsmodels.api as sm

# generate some synthetic data
nsample = 100
x = np.linspace(0, 10, 100)
X = np.column_stack((x, x**2))
beta = np.array([1, 0.1, 10])
e = np.random.normal(size=nsample)

X = sm.add_constant(X)
y = np.dot(X, beta) + e

# fit the model and get a summary of the statistics
model = sm.OLS(y, X)
results = model.fit()
print(results.summary())

                            OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       1.000
Model:                            OLS   Adj. R-squared:                  1.000
Method:                 Least Squares   F-statistic:                 4.020e+06
Date:                Mon, 08 Jul 2019   Prob (F-statistic):          2.83e-239
Time:                        02:07:22   Log-Likelihood:                -146.51
No. Observations:                 100   AIC:                             299.0
Df Residuals:                      97   BIC:                             306.8
Df Model:                           2                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const          1.3423      0.313      4.292      0.000       0.722       1.963
x1            -0.0402      0.145     -0.278      0.781      -0.327       0.247
x2            10.0103      0.014    715.745      0.000       9.982      10.038
==============================================================================
Omnibus:                        2.042   Durbin-Watson:                   2.274
Prob(Omnibus):                  0.360   Jarque-Bera (JB):                1.875
Skew:                           0.234   Prob(JB):                        0.392
Kurtosis:                       2.519   Cond. No.                         144.
==============================================================================

Вы можете видеть, что статистические модели предлагают гораздо больше деталей, таких как AIC, BIC, t-статистика и т. д.

мой фрейм данных по существу выглядит как изображение, которое я встроил в свой пост. В моем окончательном выводе должен быть список моделей, которые я запускал с бета-версиями в отдельных столбцах, r-sq в отдельных столбцах и т. д.

Srini 08.07.2019 09:58

Да, мой ответ показывает, как это сделать. Предварительная обработка/структурирование данных остается на ваше усмотрение. Если вы хотите получить определенные столбцы из вашего фрейма данных в массив numpy, чтобы соответствовать модели, вы можете использовать X = df[['x1','x2']].values и y = df[['Dependent']]

PyRsquared 08.07.2019 10:22

Другие вопросы по теме