Bất chấp tên gọi của nó, hồi quy tuyến tính có thể được sử dụng để phù hợp với các hàm phi tuyến tính. Một mô hình hồi quy tuyến tính là tuyến tính trong các tham số mô hình, không nhất thiết trong các yếu tố dự đoán. Nếu bạn thêm các phép biến đổi phi tuyến tính của các yếu tố dự đoán vào mô hình hồi quy tuyến tính, mô hình sẽ phi tuyến tính trong các yếu tố dự đoán
Một kỹ thuật hồi quy phi tuyến tính rất phổ biến là Hồi quy đa thức, một kỹ thuật mô hình hóa mối quan hệ giữa phản hồi và các yếu tố dự đoán dưới dạng đa thức bậc n. Bậc của đa thức càng cao thì bạn càng có thể điều chỉnh nhiều hàm "wiggler" hơn. Tuy nhiên, sử dụng đa thức bậc cao hơn có giá. Đầu tiên, độ phức tạp tính toán của việc khớp mô hình tăng lên khi số lượng tham số có thể thích ứng tăng lên. Thứ hai, các mô hình phức tạp hơn có nguy cơ trang bị quá mức cao hơn. Overfitting đề cập đến một tình huống trong đó mô hình phù hợp với các đặc điểm riêng của dữ liệu đào tạo và mất khả năng khái quát hóa từ cái nhìn thấy để dự đoán cái không nhìn thấy.
Để minh họa hồi quy đa thức, chúng tôi sẽ xem xét bộ dữ liệu nhà ở Boston. Chúng tôi sẽ xem xét nhiệm vụ dự đoán giá trị nhà trung bình ở khu vực Boston bằng cách sử dụng công cụ dự đoán lstat, được định nghĩa là "tỷ lệ người lớn không có trình độ trung học và tỷ lệ nam giới làm công việc được phân loại là lao động" [xem Giá nhà hưởng thụ và Nhu cầu về Không khí Sạch, Harrison & Rubinfeld, 1978]
Chúng ta có thể thấy rõ rằng mối quan hệ giữa medv và lstat là phi tuyến tính. đường màu xanh lam [thẳng] không phù hợp;
Ở đây, Mô hình 0 đại diện cho mô hình con tuyến tính chỉ chứa một biến dự đoán, ${\tt lstat}$, trong khi Mô hình 1 tương ứng với mô hình bậc hai lớn hơn có hai biến dự đoán, ${\tt lstat}$ và ${\tt lstat2}$. Hàm ${\tt anova\_lm[]}$ thực hiện kiểm tra giả thuyết so sánh hai mô hình. Giả thuyết không là hai mô hình phù hợp với dữ liệu tốt như nhau và giả thuyết thay thế là mô hình đầy đủ tốt hơn
Thống kê F là 135 và giá trị p liên quan gần như bằng không. Điều này cung cấp bằng chứng rất rõ ràng rằng mô hình chứa các yếu tố dự đoán ${\tt lstat}$ và ${\tt lstat2}$ tốt hơn nhiều so với mô hình chỉ chứa yếu tố dự đoán ${\tt lstat}$. Điều này không có gì đáng ngạc nhiên, vì trước đó chúng ta đã thấy bằng chứng về sự phi tuyến tính trong mối quan hệ giữa ${\tt medv}$ và ${\tt lstat}$
Nếu chúng ta gõ
Tôi có một số bộ dữ liệu định luật lũy thừa được nhập bằng pandas. Một số trong số chúng dường như được mô hình hóa tốt nhất bằng cách sử dụng hồi quy tuyến tính sau khi chuyển đổi log của dữ liệu, nhưng các bộ dữ liệu khác dường như được mô hình hóa tốt nhất bằng cách sử dụng hồi quy phi tuyến tính. Nhóm tập dữ liệu thứ ba có thể được mô hình hóa bằng mô hình trung bình. Trong mọi trường hợp, đối với mọi tập dữ liệu, tôi cần tính toán khả năng dữ liệu được tạo từ phân phối chuẩn có lỗi cộng và khả năng dữ liệu được tạo từ phân phối logic chuẩn có lỗi nhân. Sau đó, tôi nên tính AICc cho từng mô hình, so sánh chúng và nếu không có mô hình nào được ưa chuộng, hãy lấy trọng số AICc của hai mô hình, tính toán các tham số luật lũy thừa có trọng số của mô hình và cuối cùng, lấy CI của chúng bằng cách khởi động.
Bước thứ hai, tôi cần áp dụng trọng số cho "dữ liệu x" đến từ sự không chắc chắn trong các phép đo.
Tôi bắt đầu phát triển một lớp python gói scipy. tối ưu hóa. leastsq [và numpy. hạt lanh. lstsq cho sự phù hợp có trọng số hồi quy tuyến tính]. Sau đó, tôi đọc trong R vs Python. Bài viết trên blog Phân tích dữ liệu thực tế [Hồi quy phi tuyến tính] [được viết vào tháng 8 vừa qua] về các mô hình trạng thái [xin lỗi, đó là một ẩn số đối với tôi. ], nhưng tác giả đã chỉ ra rằng "Python không có mô-đun mô hình hiệu ứng hỗn hợp [có một số mã trong mô-đun statsmodels nhưng nó chưa hoàn thành]. ". Vì vậy, câu hỏi của tôi là. đã có bất kỳ tiến bộ nào kể từ đó để tôi có thể tận dụng sức mạnh của các mô hình nhà nước chưa?
Hồi quy phi tuyến tính là một loại hồi quy đa thức. Đó là một phương pháp để mô hình hóa mối quan hệ phi tuyến tính giữa các biến phụ thuộc và biến độc lập. Nó được sử dụng tại chỗ khi dữ liệu hiển thị xu hướng cong và hồi quy tuyến tính sẽ không tạo ra kết quả rất chính xác khi so sánh với hồi quy phi tuyến tính. Điều này là do trong hồi quy tuyến tính, giả định trước rằng dữ liệu là tuyến tính.
Mã số.
Python3
import
numpy as np
import
pandas as pd
# downloading dataset
! wget
-
nv
-
O china_gdp.csv
numpy as np
0numpy as np
0numpy as np
2-
numpy as np
4-
numpy as np
6numpy as np
0
numpy as np
8numpy as np
9-
import
1-
import
3numpy as np
0__import
5numpy as np
0import
7numpy as np
0import
9numpy as np
0pandas as pd
1
pandas as pd
2
pandas as pd
3pandas as pd
4 pandas as pd
5pandas as pd
6pandas as pd
7
pandas as pd
8 pandas as pd
9
# downloading dataset
0# downloading dataset
1pandas as pd
4 # downloading dataset
3 numpy as np
0 # downloading dataset
5# downloading dataset
3 # downloading dataset
7 # downloading dataset
8-
! wget
0! wget
1! wget
2-
! wget
4
________ 40 ________ 56 ________ 41
pandas as pd
2
________ 59 ________ 34 ________ 61
-
2pandas as pd
4 -
4
-
5
-
6pandas as pd
4 -
8
-
9
nv
0! wget
1 nv
2pandas as pd
7
nv
4nv
5nv
6
Biểu đồ phân tán cho thấy mối quan hệ giữa GDP và thời gian của một quốc gia, nhưng mối quan hệ này không phải là tuyến tính. Thay vào đó, sau năm 2005, đường này bắt đầu cong và không đi theo đường thẳng tuyến tính. Trong những trường hợp như vậy, cần có một phương pháp ước lượng đặc biệt được gọi là hồi quy phi tuyến tính.
Mã số.
Python3
import
numpy as np
import
pandas as pd
# downloading dataset
! wget
-
nv
-
O china_gdp.csv
numpy as np
0numpy as np
0numpy as np
2-
numpy as np
4-
numpy as np
6numpy as np
0
O china_gdp.csv
5numpy as np
9-
import
1-
import
3numpy as np
0 import
5numpy as np
0 import
7numpy as np
0 import
9numpy as np
0 pandas as pd
1
pandas as pd
2
pandas as pd
3pandas as pd
4 pandas as pd
5pandas as pd
6pandas as pd
7
pandas as pd
8 pandas as pd
9
# downloading dataset
0# downloading dataset
1pandas as pd
4 # downloading dataset
3 numpy as np
0 # downloading dataset
5# downloading dataset
3 # downloading dataset
7 # downloading dataset
8-
! wget
0! wget
1! wget
2-
! wget
4
________ 40 ________ 56 ________ 41
# downloading dataset
0
numpy as np
36pandas as pd
4 numpy as np
38numpy as np
39numpy as np
40numpy as np
41numpy as np
40numpy as np
43pandas as pd
7
numpy as np
36pandas as pd
4 numpy as np
36numpy as np
0 numpy as np
49numpy as np
50
________ 41 ________ 34 ________ 153 ________ 51 ________ 155
numpy as np
56______34______45____159numpy as np
40numpy as np
61numpy as np
62
numpy as np
63nv
5numpy as np
65______34numpy as np
67pandas as pd
7
numpy as np
69pandas as pd
4 numpy as np
71numpy as np
65pandas as pd
4numpy as np
74pandas as pd
7
________ 176 ________ 34 ________ 178 ________ 37
numpy as np
80numpy as np
81pandas as pd
7
numpy as np
83numpy as np
84pandas as pd
7
numpy as np
86
Đầu ra.
Có nhiều hồi quy khác nhau tồn tại và có thể được sử dụng để phù hợp với bất kỳ tập dữ liệu nào, chẳng hạn như hồi quy bậc hai, bậc ba, v.v. ở mức độ vô hạn theo yêu cầu của chúng tôi.
Mã số.
Python3
import
numpy as np
________ 0 ________ 190 ________ 191 ________ 192
numpy as np
36pandas as pd
4 numpy as np
95-
numpy as np
97numpy as np
40numpy as np
97numpy as np
40import
01pandas as pd
7
import
03
# downloading dataset
1pandas as pd
4 import
06_______51____150# downloading dataset
7 import
10
import
11pandas as pd
4 import
06 ! wget
1 import
15pandas as pd
4 import
17
________ 018 ________ 34 ________ 41 ________ 47 ________ 011
import
23
_______024____025____37
import
27import
28pandas as pd
7
numpy as np
80import
31____37
numpy as np
83import
34pandas as pd
7
numpy as np
86
Đầu ra.
Hồi quy tuyến tính
Mã số.
Python3
import
numpy as np
________ 0 ________ 190 ________ 191 ________ 192
numpy as np
36pandas as pd
4 numpy as np
95-
numpy as np
97numpy as np
40numpy as np
97numpy as np
40import
01pandas as pd
7
import
03
________ 41 ________ 34 ________ 056 ________ 006 ________ 37
import
11pandas as pd
4 import
06 ! wget
1 import
15pandas as pd
4 import
17
________ 018 ________ 34 ________ 41 ________ 47 ________ 011
_______024____025____37
import
27import
28pandas as pd
7
numpy as np
80import
31____37
numpy as np
83import
34pandas as pd
7
numpy as np
86
đầu ra.
hồi quy bậc hai
Mã số.
Python3
import
numpy as np
________ 0 ________ 190 ________ 191 ________ 192
numpy as np
36pandas as pd
4 numpy as np
95-
numpy as np
97numpy as np
40numpy as np
97numpy as np
40import
01pandas as pd
7
import
03
# downloading dataset
1_______34 # downloading dataset
3! wget
1! wget
2! wget
1! wget
1import
10pandas as pd
7# downloading dataset
7 # downloading dataset
3! wget
1! wget
2! wget
1! wget
1import
06pandas as pd
7# downloading dataset
7 # downloading dataset
3 ! wget
1 numpy as np
36# downloading dataset
7 import
10
import
11pandas as pd
4 pandas as pd
26 ! wget
1 import
15pandas as pd
4 import
17
________ 018 ________ 34 ________ 41 ________ 47 ________ 011
_______024____025____37
import
27import
28pandas as pd
7
numpy as np
80import
31____37
numpy as np
83import
34pandas as pd
7
numpy as np
86
đầu ra.
hồi quy khối
Chúng ta có thể gọi tất cả các hồi quy đa thức này, trong đó mối quan hệ giữa biến độc lập X và biến phụ thuộc Y được mô hình hóa dưới dạng đa thức bậc N trong X.
hồi quy đa thức
Để một mô hình được coi là phi tuyến tính, mũ Y phải là một hàm phi tuyến tính của các tham số Theta, không nhất thiết phải là các tính năng X. Khi nói đến phương trình phi tuyến tính, nó có thể là dạng cấp số nhân, logarit và logarit hoặc nhiều dạng khác.