Mô hình trạng thái Python hồi quy phi tuyến tính

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 np0numpy as np0numpy as np2-numpy as np4-numpy as np6numpy as np0

numpy as np8numpy as np9-import1-import3numpy as np0__import5numpy as np0import7numpy as np0import9numpy as np0pandas as pd1

pandas as pd2

pandas as pd3pandas as pd4 pandas as pd5pandas as pd6pandas as pd7

 

pandas as pd8 pandas as pd9

# downloading dataset0# downloading dataset1pandas as pd4 # downloading dataset3 numpy as np0 # downloading dataset5# downloading dataset3 # downloading dataset7 # downloading dataset8-! wget0! wget1! wget2-! wget4

________ 40 ________ 56 ________ 41

pandas as pd2

________ 59 ________ 34 ________ 61

-2pandas as pd4 -4

 

-5

-6pandas as pd4 -8

 

-9

nv0! wget1 nv2pandas as pd7

nv4nv5nv6


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 np0numpy as np0numpy as np2-numpy as np4-numpy as np6numpy as np0

O china_gdp.csv 5numpy as np9-import1-import3numpy as np0 import5numpy as np0 import7numpy as np0 import9numpy as np0 pandas as pd1

pandas as pd2

pandas as pd3pandas as pd4 pandas as pd5pandas as pd6pandas as pd7

 

pandas as pd8 pandas as pd9

# downloading dataset0# downloading dataset1pandas as pd4 # downloading dataset3 numpy as np0 # downloading dataset5# downloading dataset3 # downloading dataset7 # downloading dataset8-! wget0! wget1! wget2-! wget4

________ 40 ________ 56 ________ 41

# downloading dataset0

numpy as np36pandas as pd4 numpy as np38numpy as np39numpy as np40numpy as np41numpy as np40numpy as np43pandas as pd7

numpy as np36pandas as pd4 numpy as np36numpy as np0 numpy as np49numpy as np50

________ 41 ________ 34 ________ 153 ________ 51 ________ 155

 

numpy as np56______34______45____159numpy as np40numpy as np61numpy as np62

numpy as np63nv5numpy as np65______34numpy as np67pandas as pd7

numpy as np69pandas as pd4 numpy as np71numpy as np65pandas as pd4numpy as np74pandas as pd7

________ 176 ________ 34 ________ 178 ________ 37

numpy as np80numpy as np81pandas as pd7

numpy as np83numpy as np84pandas as pd7

numpy as np86

Đầ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 np36pandas as pd4 numpy as np95-numpy as np97numpy as np40numpy as np97numpy as np40import01pandas as pd7

 

import03

# downloading dataset1pandas as pd4 import06_______51____150# downloading dataset7 import10

import11pandas as pd4 import06 ! wget1 import15pandas as pd4 import17

________ 018 ________ 34 ________ 41 ________ 47 ________ 011

import23

_______024____025____37

import27import28pandas as pd7

numpy as np80import31____37

numpy as np83import34pandas as pd7

numpy as np86

Đầu ra.
 

Hồi quy tuyến tính

Mã số.  

Python3




import numpy as np

________ 0 ________ 190 ________ 191 ________ 192

 

numpy as np36pandas as pd4 numpy as np95-numpy as np97numpy as np40numpy as np97numpy as np40import01pandas as pd7

 

import03

 

________ 41 ________ 34 ________ 056 ________ 006 ________ 37

import11pandas as pd4 import06 ! wget1 import15pandas as pd4 import17

________ 018 ________ 34 ________ 41 ________ 47 ________ 011

_______024____025____37

import27import28pandas as pd7

numpy as np80import31____37

numpy as np83import34pandas as pd7

numpy as np86

đầu ra.  

hồi quy bậc hai

Mã số.  

Python3




import numpy as np

________ 0 ________ 190 ________ 191 ________ 192

 

numpy as np36pandas as pd4 numpy as np95-numpy as np97numpy as np40numpy as np97numpy as np40import01pandas as pd7

 

import03

# downloading dataset1_______34 # downloading dataset3! wget1! wget2! wget1! wget1import10pandas as pd7# downloading dataset7 # downloading dataset3! wget1! wget2! wget1! wget1import06pandas as pd7# downloading dataset7 # downloading dataset3 ! wget1 numpy as np36# downloading dataset7 import10

import11pandas as pd4 pandas as pd26 ! wget1 import15pandas as pd4 import17

________ 018 ________ 34 ________ 41 ________ 47 ________ 011

_______024____025____37

import27import28pandas as pd7

numpy as np80import31____37

numpy as np83import34pandas as pd7

numpy as np86

đầ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.  

OLS có thể được sử dụng cho phi tuyến tính?

Các mô hình phi tuyến tính trong các tham số, theo nghĩa là bằng phép biến đổi [log] phù hợp, các mô hình có thể được tạo thành tuyến tính trong các tham số. Trong trường hợp này phương pháp Bình phương nhỏ nhất thông thường [OLS] đã được sử dụng cho các phương trình đã biến đổi .

Hồi quy có thể được sử dụng cho phi tuyến tính?

Nhìn chung, mô hình hồi quy phi tuyến tính được sử dụng để chứa các hàm trung bình khác nhau, mặc dù mô hình này kém linh hoạt hơn mô hình hồi quy tuyến tính . Một số lợi thế của nó bao gồm khả năng dự đoán, phân tích và khả năng diễn giải. Dự báo tài chính là một cách mà hồi quy phi tuyến tính có thể được áp dụng.

Statsmodels có tốt hơn Sklearn không?

Cả hai thư viện đều có công dụng riêng. Trước khi chọn cái này hơn cái kia, tốt nhất nên xem xét mục đích của mô hình. Một mô hình được thiết kế để dự đoán phù hợp nhất khi sử dụng scikit-learning, trong khi mô hình thống kê được sử dụng tốt nhất cho các mô hình giải thích .

GLM có thể phi tuyến tính không?

So sánh hồi quy phi tuyến tính với các mô hình tuyến tính tổng quát. Vì vậy, nếu bạn muốn sử dụng thuật ngữ "phi tuyến tính" để mô tả GLM, thì điều quan trọng là phải xác định cẩn thận ý của bạn - nói chung, nghĩa là giá trị trung bình không liên quan tuyến tính với các yếu tố dự đoán.

Chủ Đề