预测狗狗币价格 -- 机器学习项目基础篇(5)

news2024/9/24 9:17:08

Dogecoin(狗狗币)是一种加密货币,就像以太坊或比特币一样-尽管它与这两种着名的硬币完全不同。Dogecoin最初在某种程度上是作为加密爱好者的一个笑话,并从一个以前众所周知的模因中取了它的名字。
在本文中,我们将实现一个机器学习模型,该模型可以预测未来几天狗狗币的模式或价格。现在让我们转向价格预测的实施。

导入库和数据集

Python库使我们可以轻松地处理数据,并通过一行代码执行典型和复杂的任务。
Pandas -此库有助于以2D数组格式加载数据框,并具有多个功能,可一次性执行分析任务。
Numpy - Numpy数组非常快,可以在很短的时间内执行大型计算。
Matplotlib/Seaborn -此库用于绘制可视化。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.ensemble import RandomForestRegressor

现在让我们将数据集加载到panda的数据框中。

data = pd.read_csv("DOGE-USD.csv")
data.head()

在这里插入图片描述
现在,让我们检查一下相关性

data.corr()

在这里插入图片描述
将字符串date & time转换为正确的日期和时间格式。之后检查是否存在任何空值。

data['Date'] = pd.to_datetime(data['Date'],
                              infer_datetime_format=True)
data.set_index('Date', inplace=True)
  
data.isnull().any()

输出:

Open         True
High         True
Low          True
Close        True
Adj Close    True
Volume       True
dtype: bool

现在,让我们检查数据集中是否存在空值。

data.isnull().sum()

输出:

Open         1
High         1
Low          1
Close        1
Adj Close    1
Volume       1
dtype: int64

删除那些缺失的值,以便我们在分析时不会有任何错误。

data = data.dropna()

现在,使用describe()方法检查数据的统计分析。

data.describe()

在这里插入图片描述
现在,首先我们将分析收盘价,因为我们需要它来执行预测。

plt.figure(figsize=(20, 7))
x = data.groupby('Date')['Close'].mean()
x.plot(linewidth=2.5, color='b')
plt.xlabel('Date')
plt.ylabel('Volume')
plt.title("Date vs Close of 2021")

在这里插入图片描述
“Close”列是我们预测的功能。我们从预定义的因子中选取不同的因子用于自己的计算,并适当地命名它们。此外,我们检查每个因素,同时与“Close”列相关,同时按降序对其进行排序。

data["gap"] = (data["High"] - data["Low"]) * data["Volume"]
data["y"] = data["High"] / data["Volume"]
data["z"] = data["Low"] / data["Volume"]
data["a"] = data["High"] / data["Low"]
data["b"] = (data["High"] / data["Low"]) * data["Volume"]
abs(data.corr()["Close"].sort_values(ascending=False))

输出:

Close        1.000000
Adj Close    1.000000
High         0.995104
Low          0.994575
Open         0.992514
Volume       0.588678
b            0.456479
gap          0.383333
a            0.172057
z            0.063251
y            0.063868
Name: Close, dtype: float64

通过观察相关因素,我们可以选择其中的一些。我们排除了High, Low和Open,因为它们从一开始就高度相关。

data = data[["Close", "Volume", "gap", "a", "b"]]
data.head()

在这里插入图片描述
这里,使用时间序列分析的ARIMA模型。ARIMA代表自回归积分移动平均模型,由三个阶参数指定(p, d, q):其中AR代表自回归,即p,I代表积分,即d,MA代表移动平均线,q。而SARIMAX是带有外生变量的季节性ARIMA 。

df2 = data.tail(30)
train = df2[:11]
test = df2[-19:]
  
print(train.shape, test.shape)

输出:

(11, 5) (19, 5)

让我们实现SARIMAX模型并查看结果。

模型构建

from statsmodels.tsa.statespace.sarimax import SARIMAX
model = SARIMAX(endog=train["Close"], exog=train.drop(
    "Close", axis=1), order=(2, 1, 1))
results = model.fit()
print(results.summary())

在这里插入图片描述
现在,观察时间序列中的预测。

start = 11
end = 29
predictions = results.predict(
    start=start,
    end=end,
    exog=test.drop("Close", axis=1))
predictions

在这里插入图片描述
最后,绘制预测以获得可视化。

test["Close"].plot(legend=True, figsize=(12, 6))
predictions.plot(label='TimeSeries', legend=True)

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW开发高压航空航天动力系统爬电距离的测试

LabVIEW开发高压航空航天动力系统爬电距离的测试 更多电动飞机MEA技术将发电,配电和用电集成到一个统一的系统中,提高了飞机的可靠性和可维护性。更多的电动飞机使用更多的电能来用电动替代品取代液压和气动系统。对车载电力的需求不断增加,…

科研统计图汇总

一、常用统计图 常用统计图的适用情况和举例说明如下: 比如:散点图适用于展示两个变量之间的关系情况;直方图适用于展示连续变量的分布情况,判断是否符合正态分布等;箱线图展示一组数据的中位数、四分位数、最大值、最…

未来穿戴上市进程终止:营收如乘“过山车”,大手笔分红遭问询

撰稿|行星 来源|贝多财经 近日,深圳证券交易所披露的信息显示,SKG母公司未来穿戴健康科技股份有限公司(下称“未来穿戴”)及其保荐人中信证券申请撤回发行上市申请文件。因此,深交所决定终止对其首次公开发行股票并在…

三相锁相环仿真与代码设计

文章目录 锁相环是锁住正弦电压波形的0度位置还是90度位置,欢迎大家参与讨论? 三相锁相环原理分析: 这里没有把Vq与零做差,PI控制器的参数应该负的。 首先对电网电压进行Clark 变换( abc→αβ)和Park 变…

计算机二级Python基本操作题-序号45

1. 键盘输入一组水果名称并以空格分隔,共一行。 示例格式如下: 苹果 芒果 草莓 芒果 苹果 草莓 芒果 香蕉 芒果 草莓 统计各类型的数量,从数量多到少的顺序输出类型及对应数量,以英文冒号分隔,每个类型行。输出结果保存…

电动汽车设计、制造、研发的学科、技术和前沿科技综述

引言:电动汽车作为替代传统燃油汽车的一种先进交通工具,不仅具有环保、低噪音等优势,而且对于能源消耗和气候变化等全球性问题也具有重要意义。本文将综述与电动汽车设计、制造、研发相关的学科、技术和前沿科技,以期对电动汽车领…

Linux环境下VS code的python与C++调试环境的安装

Linux环境下VS code的python与C调试环境的安装 文章目录 Linux环境下VS code的python与C调试环境的安装前言一、云服务器的环境二、VS code相关信息三、python 开发环境配置四、C开发环境配置1.测试main.cpp2.进行debug3.进行debug程序4.运行main.cpp程序步骤 前言 最近写的 C&…

除了PS,还有那些软件可以打开PSD文件

设计师在交接文件时,会看到各种格式的扩展文件,不同的格式需要不同的软件来运行。大多数人都听说过流行的文件格式PSD,因为它是最常用的图片格式之一,还有JPG、PNG等。然而,与JPG和PNG不同的是,PSD格式文件…

MySQL操作命令详解:增删改查

文章目录 一、CRUD1.1 数据库操作1.2 表操作1.2.1 五大约束1.2.2 创建表1.2.3 修改表1.2.3 删除表1.2.4 表数据的增删改查1.2.5 去重方式 二、高级查询2.1 基础查询2.2 条件查询2.3 范围查询2.4 判空查询2.5 模糊查询2.6 分页查询2.7 查询后排序2.8 聚合查询2.9 分组查询2.10 联…

云智慧x统信软件:智能化IT服务管理,提升客户服务价值

统信软件由中国领先的操作系统厂商于2019年联合成立,是全球主流的操作系统产品及服务提供商,致力于研发安全稳定、智能易用的操作系统产品,拥有统信UOS桌面版、服务器版、智能终端版在内的全栈基础设施,以及集中域管平台、企业级应…

Atcoder 做题记录

My OI Blog A R C 155 F \mathbb{ARC \ 155 \ F} ARC 155 F E, F 先咕着,做一些多项式题,这篇题解是我人工翻译的 [1] Double Counting 双重计数 考虑从叶子节点开始,用唯一的方式(如果有的话)来构造出一棵满足条件的树…

AMBA总线协议的终结者,一文稿定ACECHIAXI

无论你是IC设计工程师、验证工程师、FPGA工程师、还是微电子相关专业的学生,对于AMBA总线一定不陌生。 随着技术迭代的发展、基于各种复用IP的SoC芯片场景被高度使用,越来越多的人开始和总线互联打交道。 你肯定听说过AMBA、AHB、APB、AXI、ACE 一、A…

银河麒麟V10 SP1安装网络调试助手

文章目录 系统环境文件准备软件配置过程系统环境 系统镜像:Kylin-Desktop-V10-SP1-General-Release-2203-ARM64.iso 内核:5.4.18-53-generic 文件准备 网络调试助手可执行文件压缩包下载m-net-assist-arm64-main.zip 链接:https://pan.baidu.com/s/10Vu8Z6wOzCImXZWAW0Y…

USB采集卡如何打pts

一、使用采集卡提供的pts 二、手动打pts 1.usb采集设备pts的问题 2.采集卡驱动,UVC/UAC,ffmpeg的关系 3.如何自己打pts 4.音视频同步调优 5.NTP等联网调时工具带来的不同步问题 一、使用采集卡提供的pts 我们用使用pc摄像头和使用pc麦克风声卡里的方法&…

SQL分类及通用语法数据类型

一、SQL分类 DDL: 数据定义语言,用来定义数据库对象(数据库、表、字段)DML: 数据操作语言,用来对数据库表中的数据进行增删改DQL: 数据查询语言,用来查询数据库中表的记录DCL: 数据控制语言,用来创建数据库…

大数据技术之Hadoop:HDFS集群安装篇(三)

目录 分布式文件系统HDFS安装篇 一、为什么海量数据需要分布式存储 二、 分布式的基础架构分析 三、 HDFS的基础架构 四 HDFS集群环境部署 4.1 下载安装包 4.2 集群规划 4.3 上传解压 4.4 配置HDFS集群 4.5 准备数据目录 4.6 分发hadoop到其他服务器 4.7 配置环境变…

AlexNet卷积神经网络-笔记

AlexNet卷积神经网络-笔记 AlexNet卷积神经网络2012年提出 测试结果为: 通过运行结果可以发现, 在眼疾筛查数据集iChallenge-PM上使用AlexNet,loss能有效下降, 经过5个epoch的训练,在验证集上的准确率可以达到94%左右…

【NX】NX二次开发中遍历所有部件完整范例

一个入门的基本例子,这里提供完整代码,遍历所有部件,其他同理。 //author:autumoon //邮箱:9506163.com //日期:2023-08-03 /*************************************************************************…

大数据开发的前景怎么样?该怎么学习?

猎聘大数据研究院发布了《2022未来人才就业趋势报告》 从排名来看,2022年1-4月各行业中高端人才平均年薪来看,人工智能行业中高端人才平均年薪最高,为31.04万元;金融行业中高端人才以27.69万元的平均年薪位居第二;通信…

Prometheus-各种exporter

一、 nginx-prometheus-exporter 1 nginx 配置 1.1 Nginx 模块支持 nginx 安装的时候需要有 nginx 的状态模块: stub_status 可通过如下命令检查 nginx -V 2>&1 | grep -o with-http_stub_status_module1.2 Nginx 配置文件配置 添加如下配置到自己 nginx 的配置文…