Использование регрессии - различать два столбца фрейма данных, который является линейным и что является полиномиальной функцией? - PullRequest
0 голосов
/ 06 июля 2019

В кадре данных с 6 столбцами (ABCDEF) из столбцов E или F один представляет собой линейную комбинацию первых 4 столбцов с различными коэффициентами, тогда как другой столбец является полиномиальной функцией от тех же входных данных.Найти, какой столбец является линейной функцией, а какой - полиномиальной.

Предоставление 30 выборок из кадра данных (всего 512 строк)

       A     B       C      D       E        F
0   28400   28482   28025   28060   738.0   117.570740
1   28136   28382   28135   28184   -146.0  295.430176
2   28145   28255   28097   28119   30.0    132.123714
3   28125   28192   27947   27981   357.0   101.298064
4   28060   28146   27981   28007   124.0   112.153318
5   27995   28100   27945   28022   149.0   182.427089
6   28088   28195   27985   28019   167.0   141.255137
7   28049   28157   27996   28008   22.0    120.069010
8   28025   28159   28025   28109   34.0    218.401641
9   28170   28638   28170   28614   420.0   919.376358
10  28666   28980   28551   28710   234.0   475.389093
11  28660   28779   28531   28634   345.0   222.895307
12  28590   28799   28568   28783   265.0   425.738484
13  28804   28930   28740   28808   138.0   194.449548
14  28770   28770   28650   28719   378.0   69.289005
15  28769   28770   28600   28638   413.0   39.225874
16  28694   28866   28674   28847   214.0   346.158401
17  28843   28928   28807   28874   121.0   152.281425
18  28921   28960   28680   28704   491.0   63.234310
19  28683   28950   28628   28905   397.0   547.115621
20  28877   28877   28712   28749   404.0   37.212629
21  28685   29011   28680   28949   222.0   598.104568
22  29045   29180   29045   29111   -3.0    201.306765
23  29220   29499   29216   29481   259.0   546.566915
24  29439   29485   29310   29376   344.0   112.394063
25  29319   29345   28951   29049   906.0   125.333702
26  29001   29009   28836   28938   526.0   110.611943
27  28905   28971   28851   28917   174.0   132.274514
28  28907   28916   28711   28862   685.0   161.078158
29  28890   29025   28802   28946   329.0   280.114923

Выполнение линейной регрессии для (всего 512 строк)
СтолбецABCD в качестве входных данных, столбец E в качестве целевых значений.
OUTPUT-
Перехватывать [-2.67164069e-12]
коэффициенты [[2. 3. -1.-4.]]

Столбец ABCD в качестве входных данных, столбец F в качестве целевых значений.
OUTPUT-
Перехват [0.32815962]
коэффициенты [[1.01293825 -1.0003835 1.00503772 -1.01765453]]

import numpy as np
import pandas as pd
from sklearn.linear_model import LinearRegression

For column E
x = df.iloc[:, :4].values
y = df.iloc[:, [4]].values

regressor = LinearRegression()
regressor.fit(x, y)
print(regressor.intercept_)
print(regressor.coef_)

output
[-2.67164069e-12]
[[ 2.  3. -1. -4.]]

For column F
x_new = df.iloc[:, :4].values
y_new = df.iloc[:, [5]].values

regressor_new = LinearRegression()
regressor_new.fit(x_new, y_new)
print(regressor_new.intercept_)
print(regressor_new.coef_)

output
[0.32815962]
[[ 1.01293825 -1.0003835   1.00503772 -1.01765453]]

Один из 2 столбцов представляет собой линейную комбинацию первых 4 столбцов с различными коэффициентами, а другой - полиномиальную функцию от тех же входных данных.

Укажите, какой столбец является линейной функцией, иполиномиальный.

1 Ответ

0 голосов
/ 06 июля 2019

Я думаю, что столбцы с линейной комбинацией можно найти, проверив мультиколлинеарность между столбцами.Таким образом, столбец / столбцы, которые являются линейной комбинацией оставшихся столбцов / столбцов, будут иметь высокий VIF.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...