Thống kê hiệp phương sai python
Hàm mô hình, f(x,…). Nó phải lấy biến độc lập làm đối số đầu tiên và các tham số phù hợp làm đối số còn lại riêng biệt xdata array_like hoặc đối tượngBiến độc lập nơi dữ liệu được đo lường. Thường phải là một chuỗi độ dài M hoặc một mảng hình (k,M) cho các hàm có k bộ dự đoán, nhưng thực tế có thể là bất kỳ đối tượng nào ydata mảng_likeDữ liệu phụ thuộc, một mảng độ dài M - trên danh nghĩa là >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c3p0 array_like, tùy chọn Dự đoán ban đầu cho các tham số (độ dài N). Nếu Không, thì tất cả các giá trị ban đầu sẽ là 1 (nếu số lượng tham số cho hàm có thể được xác định bằng cách sử dụng nội quan, nếu không thì Lỗi Giá trị sẽ tăng lên) sigma Không có hoặc chuỗi độ dài M hoặc mảng MxM, tùy chọnXác định độ không đảm bảo trong ydata. Nếu chúng ta định nghĩa phần dư là >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c4, thì việc giải thích sigma phụ thuộc vào số thứ nguyên của nó
Không (mặc định) tương đương với sigma 1-D chứa đầy những cái absolute_sigma bool, tùy chọnNếu Đúng, sigma được sử dụng theo nghĩa tuyệt đối và hiệp phương sai tham số ước tính pcov phản ánh các giá trị tuyệt đối này Nếu Sai (mặc định), chỉ có độ lớn tương đối của các giá trị sigma mới quan trọng. Ma trận hiệp phương sai tham số được trả về pcov dựa trên sigma chia tỷ lệ theo hệ số không đổi. Hằng số này được đặt bằng cách yêu cầu chisq giảm cho các tham số tối ưu bật lên khi sử dụng sigma được chia tỷ lệ bằng đơn vị. Nói cách khác, sigma được chia tỷ lệ để phù hợp với phương sai mẫu của phần dư sau khi điều chỉnh. Mặc định là Sai. Về mặt toán học, >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c1check_finite bool, tùy chọn Nếu Đúng, hãy kiểm tra xem các mảng đầu vào không chứa nans infs và tăng ValueError nếu có. Đặt tham số này thành Sai có thể âm thầm tạo ra kết quả vô nghĩa nếu mảng đầu vào có chứa nans. Mặc định là Đúng Giới hạn dưới và trên của các tham số. Mặc định là không có giới hạn. Mỗi phần tử của bộ dữ liệu phải là một mảng có độ dài bằng số lượng tham số hoặc là một đại lượng vô hướng (trong trường hợp đó, giới hạn được coi là giống nhau cho tất cả các tham số). Sử dụng >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c2 với một ký hiệu thích hợp để vô hiệu hóa giới hạn trên tất cả hoặc một số tham số Mới trong phiên bản 0. 17 phương thức {‘lm’, ‘trf’, ‘dogbox’}, tùy chọnPhương pháp sử dụng để tối ưu hóa. Xem >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c3 để biết thêm chi tiết. Mặc định là 'lm' cho các vấn đề không bị ràng buộc và 'trf' nếu các giới hạn được cung cấp. Phương pháp 'lm' sẽ không hoạt động khi số lượng quan sát ít hơn số lượng biến, sử dụng 'trf' hoặc 'dogbox' trong trường hợp này Mới trong phiên bản 0. 17 jac có thể gọi được, chuỗi hoặc Không, tùy chọnHàm có chữ ký >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c4 tính toán ma trận Jacobian của hàm mô hình đối với các tham số dưới dạng cấu trúc giống như mảng dày đặc. Nó sẽ được thu nhỏ theo sigma được cung cấp. Nếu Không có (mặc định), Jacobian sẽ được ước tính bằng số. Chuỗi từ khóa cho các phương pháp 'trf' và 'dogbox' có thể được sử dụng để chọn lược đồ sai phân hữu hạn, xem >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c3 Mới trong phiên bản 0. 18 full_output boolean, tùy chọnNếu True, hàm này trả về thông tin bổ sung. infodict, mesg và ier Mới trong phiên bản 1. 9 **kwargsĐối số từ khóa được chuyển đến >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c6 cho >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c7 hoặc >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c3 nếu khôngMảng trả về mảng Các giá trị tối ưu cho các tham số sao cho tổng các phần dư bình phương của >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c9 được giảm thiểu Hiệp phương sai ước tính của popt. Các đường chéo cung cấp phương sai của ước tính tham số. Để tính toán một lỗi độ lệch chuẩn trên các tham số, hãy sử dụng >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c00 Tham số sigma ảnh hưởng như thế nào đến hiệp phương sai ước tính phụ thuộc vào đối số absolute_sigma, như được mô tả ở trên Nếu ma trận Jacobian tại giải pháp không có thứ hạng đầy đủ, thì phương thức 'lm' trả về một ma trận chứa đầy >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c2, mặt khác, phương thức 'trf' và 'dogbox' sử dụng nghịch đảo giả Moore-Penrose để tính toán ma trận hiệp phương saiinfodict dict (chỉ được trả lại nếu full_output là True) một từ điển các đầu ra tùy chọn với các phím >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c02 Số lần gọi hàm. Các phương thức 'trf' và 'dogbox' không tính các lệnh gọi hàm cho xấp xỉ Jacobian bằng số, trái ngược với phương thức 'lm' >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c03 Các giá trị hàm được đánh giá tại giải pháp >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c04 Một hoán vị của ma trận R của phân tích thừa số QR của ma trận Jacobian gần đúng cuối cùng, cột được lưu trữ thông minh. Cùng với ipvt, hiệp phương sai của ước lượng có thể xấp xỉ. Phương pháp 'lm' chỉ cung cấp thông tin này >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c05 Một mảng số nguyên có độ dài N xác định ma trận hoán vị, p, sao cho fjac*p = q*r, trong đó r là tam giác trên với các phần tử đường chéo có độ lớn không tăng. Cột j của p là cột ipvt(j) của ma trận đơn vị. Phương pháp 'lm' chỉ cung cấp thông tin này >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c06 Vectơ (hoán vị(q) * fvec). Phương pháp 'lm' chỉ cung cấp thông tin này Mới trong phiên bản 1. 9 mesg str (chỉ trả về nếu full_output là True)Một thông báo chuỗi cung cấp thông tin về giải pháp Mới trong phiên bản 1. 9 Cờ số nguyên. Nếu nó bằng 1, 2, 3 hoặc 4, giải pháp đã được tìm thấy. Nếu không, giải pháp không được tìm thấy. Trong cả hai trường hợp, biến đầu ra tùy chọn mesg cung cấp thêm thông tin Mới trong phiên bản 1. 9 Tăng giá trịLỗinếu ydata hoặc xdata chứa NaN hoặc nếu các tùy chọn không tương thích được sử dụng Lỗi runtimenếu tối thiểu hóa bình phương nhỏ nhất không thành công Tối ưu hóaCảnh báonếu hiệp phương sai của các tham số không thể được ước tính Xem thêm >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c3 Giảm thiểu tổng bình phương của các hàm phi tuyến >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c08 Tính hồi quy bình phương nhỏ nhất tuyến tính cho hai bộ phép đo ghi chú Người dùng phải đảm bảo rằng các đầu vào xdata, ydata và đầu ra của f là >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c09, nếu không quá trình tối ưu hóa có thể trả về kết quả không chính xác Với >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c7, thuật toán sử dụng thuật toán Levenberg-Marquardt cho đến >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c6. Lưu ý rằng thuật toán này chỉ có thể xử lý các vấn đề không bị ràng buộc Các ràng buộc hộp có thể được xử lý bằng các phương thức 'trf' và 'dogbox'. Tham khảo chuỗi tài liệu của >>> def func(x, a, b, c): .. return a * np.exp(-b * x) + c3 để biết thêm thông tin |