gpt4 book ai didi

python - 当 x 值为日期时间时,如何使用 polyfit 获得最佳拟合曲线?

转载 作者:太空宇宙 更新时间:2023-11-04 09:23:06 27 4
gpt4 key购买 nike

概述:我有一个 Django 站点,我在其中绘制数据图表。我需要生成最佳拟合的多项式曲线,但图形的 x 值是日期或日期时间。我在 numpy 数组上使用 polyfit。当我尝试使用 datetime_object.timestamp() 将日期时间转换为整数或 float 时,我得到了非常奇怪的系数值,并且图表与数据完全不匹配。有什么方法可以使用带有日期时间(或日期)的 polyfit 方法来获得更适合数据的更正常的系数值?

milliseconds = []
for i in pricingDateTimes:
dt_obj = datetime.strptime(i, '%Y-%m-%d %H:%M:%S')
milliseconds.append(dt_obj.timestamp() * 1000) # I have also tried division by powers of 10 to get more reasonable coefficients
x = array(milliseconds)
y = array(pricingMetricData)
quadratic = polyfit(x, y, 2)

那么有没有一种方法可以使用 polyfit 和日期或日期时间作为 x 值来获取有效的数据系数?有没有其他方法可以获得与日期时间或日期最匹配的曲线系数?

谢谢!

最佳答案

您可以找到每个时间条目之间的时间差并计算累计和。然后将其用作 x 值。

>>> timeval
[datetime.datetime(2019, 11, 29, 18, 23, 25, 123830), datetime.datetime(2019, 11, 29, 18, 23, 34, 123830), datetime.datetime(2019, 11, 29, 18, 23, 40, 123830), datetime.datetime(2019, 11, 29, 18, 23, 49, 123830), datetime.datetime(2019, 11, 29, 18, 23, 53, 123830), datetime.datetime(2019, 11, 29, 18, 23, 58, 123830), datetime.datetime(2019, 11, 29, 18, 23, 58, 123830), datetime.datetime(2019, 11, 29, 18, 24, 6, 123830), datetime.datetime(2019, 11, 29, 18, 24, 11, 123830), datetime.datetime(2019, 11, 29, 18, 24, 12, 123830), datetime.datetime(2019, 11, 29, 18, 24, 21, 123830), datetime.datetime(2019, 11, 29, 18, 24, 29, 123830), datetime.datetime(2019, 11, 29, 18, 24, 29, 123830), datetime.datetime(2019, 11, 29, 18, 24, 29, 123830), datetime.datetime(2019, 11, 29, 18, 24, 38, 123830), datetime.datetime(2019, 11, 29, 18, 24, 41, 123830), datetime.datetime(2019, 11, 29, 18, 24, 41, 123830), datetime.datetime(2019, 11, 29, 18, 24, 49, 123830), datetime.datetime(2019, 11, 29, 18, 24, 58, 123830), datetime.datetime(2019, 11, 29, 18, 24, 59, 123830)]
>>> x = np.array([x.seconds for x in np.diff(np.array(timeval))]).cumsum()
>>> x
array([ 9, 15, 24, 28, 33, 33, 41, 46, 47, 56, 64, 64, 64, 73, 76, 76, 84,
93, 94], dtype=int32)

关于python - 当 x 值为日期时间时,如何使用 polyfit 获得最佳拟合曲线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59108577/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com