[自用代码]基于LSTM的广州车牌售价预测

文章目录

    • 1. 数据
    • 2. 代码

明天是拍牌日了,用AI协助生成了一段时间序列预测代码,主要是用来预测明天车牌均价。其实做的挺low的,没有考虑多维数据之间的关系以及社会事件影响,仅仅是单步预测,偏差是挺大的,符合个人预期的模型预测结果是17745。

1. 数据

首先,上数据:

time,sig_min,sig_avg,com_min,com_avg
2012/8/28,10000,22822,10000,25515
2012/9/25,10000,14138,10000,15978
2012/10/25,10000,11067,10000,12674
2012/11/26,10000,10779,10000,12575
2012/12/25,10000,10955,10000,12303
2013/1/25,10000,10854,10000,12583
2013/2/25,10000,10573,10000,11762
2013/3/25,10000,10585,10000,11688
2013/4/25,10000,10998,10000,12017
2013/5/27,11600,12627,10000,12548
2013/6/25,14000,15743,10000,13117
2013/7/25,18700,20631,12500,14789
2013/8/26,23900,26599,15100,17385
2013/9/25,10000,30802,18000,20643
2013/10/25,10000,16384,10000,19510
2013/11/25,10000,11813,10000,14304
2013/12/25,10700,11959,10000,12958
2014/1/26,11500,12541,10000,12601
2014/2/25,11600,12777,10000,12494
2014/3/27,12300,13085,10300,12203
2014/4/26,13100,14074,10800,12452
2014/5/27,14500,15391,11000,12902
2014/6/26,16000,17024,10000,13134
2014/7/25,14800,18310,10000,12845
2014/8/26,10000,16654,10000,12375
2014/9/25,10000,12382,10000,11997
2014/10/25,10000,11442,10000,11836
2014/11/25,10000,11207,10000,11614
2014/12/25,10300,11421,10000,11604
2015/1/25,12000,13137,10000,11882
2015/2/25,13200,14331,10000,12391
2015/3/25,14500,15436,10000,11883
2015/4/27,16800,17798,10000,11593
2015/5/25,20200,21506,10000,11604
2015/6/25,26000,27672,10000,11822
2015/7/27,35000,37805,10000,12152
2015/8/25,10000,36231,10000,11878
2015/9/25,13500,16886,10000,11590
2015/10/26,16000,17487,10000,11254
2015/11/25,19000,20609,10000,11811
2015/12/25,24600,27077,10000,12009
2016/1/25,21000,25727,10000,12106
2016/2/25,19500,21884,10000,11560
2016/3/25,21100,23315,10000,11513
2016/4/25,23800,25701,10000,11496
2016/5/25,25000,27127,10000,11186
2016/6/27,23400,28541,10000,11420
2016/7/25,10100,24324,10000,11355
2016/8/25,15100,17330,10000,11114
2016/9/26,18100,19614,10000,11277
2016/10/25,19500,21551,10000,11269
2016/11/25,18600,22300,10000,11427
2016/12/26,15300,20591,10000,10905
2017/1/25,15100,17508,10000,11093
2017/2/28,15900,17419,10000,11114
2017/3/27,17300,18358,10000,10945
2017/4/25,18900,20127,10000,11061
2017/5/25,21500,22996,10000,11063
2017/6/26,23900,25498,10000,11136
2017/7/25,25000,26668,10100,11170
2017/8/25,26800,28561,10800,11663
2017/9/25,28800,30535,11800,15659
2017/10/25,30000,32449,13800,18038
2017/11/27,30700,34046,16800,18982
2017/12/25,18000,32312,24000,26123
2018/1/25,21000,25213,28000,30832
2018/2/26,22800,24560,32200,34718
2018/3/26,25300,26939,39100,41653
2018/4/25,32100,34455,51000,56158
2018/5/25,41300,44225,62000,68498
2018/6/25,52000,57283,62800,77611
2018/7/25,12100,56152,10000,70079
2018/8/27,25500,31654,12000,25880
2018/9/25,29700,32205,17200,22696
2018/10/25,33100,35434,24200,26597
2018/11/26,36800,39585,32300,35922
2018/12/25,37000,40985,42300,46032
2019/1/25,33900,39196,46000,51488
2019/2/25,33000,36240,47800,52206
2019/3/25,36000,37953,52100,55791
2019/4/25,38600,40395,55000,59376
2019/5/27,40000,42846,40100,59223
2019/6/25,14100,28966,10000,32803
2019/7/25,18800,22047,12100,18842
2019/8/26,21800,23779,14500,18542
2019/9/26,20200,24164,10000,17071
2019/10/25,10000,20306,10000,13567
2019/11/25,13200,15917,10000,12835
2019/12/25,13800,15461,10000,12411
2020/2/3,14800,16050,11800,13461
2020/2/25,16000,17086,13000,14612
2020/3/25,17200,18495,14800,16474
2020/4/26,15200,17820,10000,15306
2020/5/25,17800,18918,10000,12581
2020/6/28,20900,21929,10000,12446
2020/7/27,24800,26011,12000,13418
2020/8/25,25800,30005,14600,15555
2020/9/25,18500,26837,18200,19354
2020/10/26,13800,20025,23500,25366
2020/11/25,16300,18217,29400,31520
2020/12/25,19700,21711,37600,40356
2021/1/25,20000,21960,34800,39309
2021/2/25,21000,22494,39800,41983
2021/3/25,23500,24826,46200,48350
2021/4/25,25900,27142,53900,56205
2021/5/25,26500,29423,60900,63757
2021/6/25,22800,27542,45000,62128
2021/7/26,21000,24914,37800,49138
2021/8/25,20000,22687,28000,37841
2021/9/26,20000,21615,25000,29955
2021/10/25,20000,21524,24800,28819
2021/11/25,20000,21557,25900,28535
2021/12/27,18800,21543,28000,30775
2022/1/25,15000,19692,31000,32618
2022/2/25,12800,17105,33500,35970
2022/3/25,13900,15392,35700,37760
2022/4/25,15200,16221,38500,40464
2022/5/25,16500,17555,32000,40992
2022/6/27,16600,18311,10000,32871
2022/7/25,17000,18329,15000,20381
2022/8/25,17300,18593,16900,20372
2022/9/26,17000,18616,18600,20595
2022/10/25,10000,17636,18600,21608
2022/11/25,11000,12808,18500,20747
2022/12/26,11900,12826,18600,21577
2023/1/28,12500,13330,21000,22919
2023/2/27,13500,14356,23500,24904
2023/3/27,15000,15902,26600,27809
2023/4/25,17100,18074,28900,30477
2023/5/25,19800,20629,29500,32452
2023/6/25,21800,23263,10000,29652
2023/7/25,10000,19591,10000,19111
2023/8/25,10000,12599,10000,14093
2023/9/25,10500,12101,11100,13421
2023/10/25,12000,13366,11800,13657
2023/11/27,13500,14688,13000,14662
2023/12/25,15000,16120,15000,16227

直接在“广州本地宝”就能查询到,这里是将日期、个人最低值、个人平均值、单位最低值、单位平均值罗列出为:“time,sig_min,sig_avg,com_min,com_avg”

2. 代码

LSTM是用pytorch搭建的,上代码:

import torch
import torch.nn as nn
import torch.optim as optim
from torch.utils.data import Dataset, DataLoader
import numpy as np
import pandas as pd

# 创建自定义数据集类
class CustomDataset(Dataset):
    def __init__(self, data, seq_length):
        self.data = data
        self.seq_length = seq_length

    def __len__(self):
        return len(self.data) - self.seq_length

    def __getitem__(self, idx):
        return (
            torch.from_numpy(np.array(self.data[idx:idx+self.seq_length])).float(),
            torch.from_numpy(np.array([self.data[idx+self.seq_length]])).float()
        )


# 从CSV文件读取数据
df = pd.read_csv('price_change.csv')  # 替换为你的CSV文件路径
input_column = 'sig_avg'  # 替换为你想要读取的列名
input_data = df[input_column].values

# 创建数据集实例
dataset = CustomDataset(input_data, seq_length)

# 创建数据加载器
batch_size = 1
train_loader = DataLoader(dataset, batch_size=batch_size, shuffle=False)

# 创建LSTM模型类
class LSTMNet(nn.Module):
    def __init__(self, input_size, hidden_size, output_size):
        super(LSTMNet, self).__init__()
        self.hidden_size = hidden_size
        self.lstm = nn.LSTM(input_size, hidden_size)
        self.fc = nn.Linear(hidden_size, output_size)

    def forward(self, x):
        lstm_out, _ = self.lstm(x.view(len(x), 1, -1))
        output = self.fc(lstm_out[-1])
        return output

# result
result = []    
for seq_length in range(1,2):
# seq_length  序列长度
    
    # 实例化模型
    input_size = seq_length
    hidden_size = 10
    output_size = 1
    model = LSTMNet(input_size, hidden_size, output_size)

    # 定义损失函数和优化器
    criterion = nn.MSELoss()
    optimizer = optim.SGD(model.parameters(), lr=0.01)

    # 训练模型
    num_epochs = 100
    # 训练模型并记录损失值
    losses = []
    for epoch in range(num_epochs):
        running_loss = 0.0
        for inputs, targets in train_loader:
            optimizer.zero_grad()
            outputs = model(inputs)
            loss = criterion(outputs, targets)
            loss.backward()
            optimizer.step()
            running_loss += loss.item()
        if epoch%10 == 0:
            epoch_loss = running_loss / len(train_loader)
            losses.append(epoch_loss)
            print(f'Epoch [{epoch+1}/{num_epochs}], Loss: {epoch_loss:.6f}')

    # 进行预测
    input_sequence = torch.from_numpy(input_data[-seq_length:]).float()
    # print(input_sequence)
    predicted_value = model(input_sequence).item()
    # print("Predicted value:", predicted_value)
    result.append(int(predicted_value))

print(result)

这里搭建了一个单层的lstm用来进行训练预测,但是loss值一直比较大,并没有仔细调整超参数,得到比较符合预期的结果是17745,希望能给有相关经验的同学提供一些思路。其实咱们学的东西不止可以用来写论文,也可以尝试在生活中应用一下。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/350427.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于Python对二手车之家的数据采集与分析

1.1 用户需求 1.1.1 背景与现状 基于Python的二手车之家数据采集与分析的背景与现状分析 背景: 随着经济的发展和人们生活水平的提高,二手车市场逐渐兴起。二手车之家作为中国最大的二手车交易平台之一,提供了丰富的二手车信息&#xff0…

下载nacos 2.3 for arm64

客户组织安全测试,我们系统测出了好几个高危问题,其中大部分是关于nacos的。 原先的nacos版本太低了,是1.3的。现在(2024.01)已经是2.3了,应该装个新的。我们使用docker安装nacos,原本很简单的…

推荐几款便宜幻兽帕鲁游戏联机服务专用云服务器

随着互联网技术的发展,云服务器已经成为了许多游戏联机服务的首选。如果大家想要自行搭建幻兽帕鲁联机服务器,那么使用云服务器是一个很好的选择。下面,本文将推荐几款便宜幻兽帕鲁游戏联机服务专用云服务器。 幻兽帕鲁游戏对于服务器配置要求…

Windows 上面双网卡网络,配置为优先IPV4

多数网络游戏加速器是不支持IPV6的,即便支持IPV6也不好用,原因是IPV6在大陆并不是普及的状态,很多资源是没有的。 所以本文会教大家怎么让双IP栈的用户,怎么配置优先适用IPV4,并且IPV6也还可以用。 跟着我的步骤来&am…

互信息的简单理解

在介绍互信息之前,首先需要了解一下信息熵的概念:所谓信息熵,是指信息论中对一个随机变量不确定性的度量,对于随机变量x,信息熵的定义为: H ( x ) − ∑ x p ( x ) l o g p ( x ) H(x)-\sum_xp(x)logp(x) …

git安装步骤

安装环境:Windows10 64bit 下载 Git网址 :Git - Downloading Package 版本:Git-2.21.0-64-bit 第一步:双击下载后的Git-2.21.0-64-bit.exe,开始安装 安装开始 第二步:选择安装路径,点击[next]…

【云原生】Docker基于Dockerfile多级构建,实现缩小镜像体积

目录 一、基于上次的nginx的Dockerfile做多级构建 二、基于上次的php的Dockerfile修改做多级构建 三、基于上次的mysql的Dockerfile修改做多级构建 基于以上三个镜像构建 四、镜像体积是不是越小越好?为什么要缩减镜像体积? 五、缩小镜像体积的方法…

变相体罚的行为有哪些

你是否在无意中“伤害”了学生?每一位老师都如同辛勤的园丁,努力耕耘,期待花开。但在这个过程中,有些行为,虽不带皮肉之苦,却可能给学生的心灵留下难以愈合的创伤。今天,就让我们来谈谈这些隐蔽…

OpenHarmony—TypeScript到ArkTS约束说明

对象的属性名必须是合法的标识符 规则:arkts-identifiers-as-prop-names 级别:错误 在ArkTS中,对象的属性名不能为数字或字符串。通过属性名访问类的属性,通过数值索引访问数组元素。 TypeScript var x { name: x, 2: 3 };c…

2024最新幻兽帕鲁服务器多少钱一个?

幻兽帕鲁服务器多少钱?价格便宜,阿里云4核16G幻兽帕鲁专属服务器32元1个月、66元3个月,4核32G配置113元1个月、339元3个月;腾讯云4核16G14M服务器66元1个月、277元3个月、1584元一年。阿腾云atengyun.com分享阿里云和腾讯云palwor…

苹果笔记本MacBook电脑怎么卸载软件?三种方法快速卸载软件

苹果笔记本MacBook电脑是一款非常流行的电脑,但是有时候我们可能需要卸载一些不需要的软件。下面是一些简单的步骤,可以帮助您在MacBook电脑上卸载软件。 苹果笔记本MacBook电脑怎么卸载软件?三种实用方法快速卸载软件! 方法一&a…

【开源】基于JAVA语言的公司货物订单管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 客户管理模块2.2 商品维护模块2.3 供应商管理模块2.4 订单管理模块 三、系统展示四、核心代码4.1 查询供应商信息4.2 新增商品信息4.3 查询客户信息4.4 新增订单信息4.5 添加跟进子订单 五、免责说明 一、摘要 1.1 项目…

1. MySQL 数据库

本章内容 关系型数据库基础 安装 MySQL 管理数据库和表 用户和权限管理 函数,存储过程,触发器和事件 MySQL 架构 存储引擎 服务器选项,系统和状态变量 优化查询和索引管理 锁和事务管理 日志管理 备份还原 MySQL 集群 压力测试…

【星海随笔】unix 启动问题记录.

启动Ubuntu操作系统时,直接进入GRUB状态。 调试时候,曾显示 no bootable device no known filesystem detected 注意: 目前 GRUB 分成 GRUB legacy 和 GRUB 2。版本号是 0.9x 以及之前的版本都称为 GRUB Legacy ,从 1.x 开始的就称…

软件功能测试如何确定测试需求?CMA、CNAS软件测试报告获取

软件功能测试是为了验证软件的功能是否按照设计要求正常工作的过程,可以确保软件的质量,提高用户体验,也是保证软件安全和可靠性的重要一环。我们需要从多个角度对软件的各个功能模块进行测试,确保每个功能都能正常运行&#xff0…

75 C++对象模型探索。C++关于 虚函数表指针位置分析。C++ 面向对象和基于对象的概念。

如果一个类中,有虚函数,针对这个类会产生一个虚函数表。 生成这个类对象的时候,会有一个虚函数表指针,这个指针会指向这个虚函数表的开始地址。 我们本节就研究这个vptr指针。注意,vptr指针在 类对象中的位置。 证明…

AI Agents系列—— 探究大模型的推理能力,关于Chain-of-Thought的那些事儿

一、写在前面:关于AI Agents与CoT 本文是2023.07.24发表在同名公众号「陌北有棵树」上的一篇文章,个人观点是基础理论的学习现在仍是有必要的,所以搬运过来。 今天要读的论文是《Chain-of-Thought Prompting Elicits Reasoning in Large La…

【C++】C++入门基础讲解(一)

💗个人主页💗 ⭐个人专栏——C学习⭐ 💫点击关注🤩一起学习C语言💯💫 导读 经过一段时间的C语言学习,我们以及基本掌握了C语言的知识,今天,我们就开始学习C,…

张维迎《博弈与社会》笔记(2)导论:个体理性与社会最优:协调与合作问题

有节选,相当于按照自己的方式将内容组织了下吧? 协调与合作问题 什么是一个社会面临的基本问题? 这似乎是一个我们每一个人都可以触摸得到但又难以说清的问题,因为在不同的语境下,“社会”一词的内涵有所差异。但其基…
最新文章