Hướng dẫn fit exponential curve python - phù hợp với python đường cong hàm mũ
Show ⇦ Quay lại Nếu bạn có một tập hợp các điểm dữ liệu trông giống như chúng tăng lên nhanh chóng, có thể rất hữu ích khi phù hợp với chúng với một dòng tăng theo cấp số nhân, theo cấp số nhân để mô tả hình dạng chung của dữ liệu: Dòng mà bạn cần phù hợp để đạt được hình dạng này sẽ là hình ảnh được mô tả bởi hàm hàm mũ, đó là bất kỳ chức năng nào của hình thức: \ (y = ab^x + c \) hoặc \ (y = ae^{bx} + c \) . Điều quan trọng cần nhận ra là một hàm số mũ có thể được xác định đầy đủ với ba hằng số. Chúng tôi sẽ sử dụng phần thứ hai của các công thức này, có thể được viết bằng Python là 7 trong đó 8 là hàm theo cấp số nhân \ (e^x \) từ gói numpy (đổi tên thành 9 trong các ví dụ của chúng tôi).\(AB^x = Ae^{x\ln(B)}\)). The important thing to realise is that an exponential function can be fully defined with three constants. We will use the second of these formulations, which can be written in Python as 7 where 8 is
the exponential function \(e^x\) from the Numpy package (renamed 9 in our examples).Ví dụ dữ liệuĐối với hướng dẫn này, hãy để tạo ra một số dữ liệu giả để sử dụng làm ví dụ. Đây phải là một tập hợp các điểm tăng theo cấp số nhân (nếu không thì những nỗ lực của chúng tôi để phù hợp với một đường cong theo cấp số nhân cho họ đã giành được hoạt động tốt!) Với một số tiếng ồn ngẫu nhiên được đưa vào để bắt chước dữ liệu trong thế giới thực:
Tiếng ồn ngẫu nhiên đang được thêm vào với hàm 0 từ Numpy rút các mẫu ngẫu nhiên từ phân phối bình thường (Gaussian). Chúng ta hãy xem xét dữ liệu ví dụ này trông như thế nào trên một biểu đồ phân tán:
Phương pháp 1: Polyfit
So sánh các phương pháp Nội suy và ngoại suy (dự báo/dự đoán/ước tính) Sử dụng một lô thanh\(f(x) = mx + c\) where:
\ (y = ab^x + c \)\(\ln(y)\) against \(x\):
hoặc
\ (y = ae^{bx} + c \)
. Điều quan trọng cần nhận ra là một hàm số mũ có thể được xác định đầy đủ với ba hằng số. Chúng tôi sẽ sử dụng phần thứ hai của các công thức này, có thể được viết bằng Python là 7 trong đó 8 là hàm theo cấp số nhân \ (e^x \) từ gói numpy (đổi tên thành 9 trong các ví dụ của chúng tôi).\(y\): tell 1 to lend more importance to data points with a large y-value:
Đối với hướng dẫn này, hãy để tạo ra một số dữ liệu giả để sử dụng làm ví dụ. Đây phải là một tập hợp các điểm tăng theo cấp số nhân (nếu không thì những nỗ lực của chúng tôi để phù hợp với một đường cong theo cấp số nhân cho họ đã giành được hoạt động tốt!) Với một số tiếng ồn ngẫu nhiên được đưa vào để bắt chước dữ liệu trong thế giới thực: Phương pháp 2: Curve_fitSo sánh các phương pháp Nội suy và ngoại suy (dự báo/dự đoán/ước tính)\(c \neq 0\)):
Sử dụng một lô thanh\(y = ae^{bx} + c\). This is done by defining it as a lambda function (ie as an object rather than as a command) of a dummy variable \(t\) and using the 5 function to fit this object to the x- and y-data. Note that the 5 function needs to be imported from the 9 sub-package:
Nếu bạn có một tập hợp các điểm dữ liệu trông giống như chúng tăng lên nhanh chóng, có thể rất hữu ích khi phù hợp với chúng với một dòng tăng theo cấp số nhân, theo cấp số nhân để mô tả hình dạng chung của dữ liệu:\(a\), \(b\) and \(c\):
Dòng mà bạn cần phù hợp để đạt được hình dạng này sẽ là hình ảnh được mô tả bởi hàm hàm mũ, đó là bất kỳ chức năng nào của hình thức:
\ (y = ab^x + c \) 0 1So sánh các phương phápHãy để âm mưu cho cả ba phương thức với nhau bằng cách sử dụng cùng một dữ liệu ví dụ (\ (c = 0 \)) cho mỗi phương pháp:\(c = 0\)) for each: 2Như bạn có thể thấy, phương pháp 5 đã cho chúng ta xấp xỉ tốt nhất về hành vi theo cấp số nhân thực sự.Nội suy và ngoại suy (dự báo/dự đoán/ước tính)Chúng tôi có thể sử dụng đường cong được trang bị để ước tính dữ liệu của chúng tôi sẽ là gì cho các giá trị khác của \ (x \) không có trong bộ dữ liệu thô của chúng tôi: giá trị sẽ ở mức \ (x = 11 \) (nằm ngoài miền của chúng tôi vàDo đó, yêu cầu chúng tôi dự báo trong tương lai) hoặc \ (x = 8,5 \) (nằm trong miền của chúng tôi và do đó yêu cầu chúng tôi 'điền vào khoảng cách' trong dữ liệu của chúng tôi)?Để trả lời những câu hỏi này, chúng tôi chỉ cần cắm các giá trị X này làm số vào phương trình của đường cong được trang bị:\(x\) that are not in our raw dataset: what would the value be at \(x=11\) (which is outside our domain and thus requires us to forecast into the future) or \(x = 8.5\) (which is inside our domain and thus requires us to ‘fill in a gap’ in our data)? To answer these questions, we simply plug these x-values as numbers into the equation of the fitted curve: 3Rõ ràng hơn: 4 5Sử dụng một lô thanhNếu bạn muốn sử dụng một âm mưu thanh thay vì biểu đồ phân tán: 6⇦ Quay lại |