# MMORPG中的虚拟游戏道具价格预测

## 课题背景

MMORPG游戏中的每一个服务器都类似于一个小社会，都有自己的经济系统，游戏中的玩家会通过商城进行相互交易，因此游戏中的每一个虚拟道具都有符合自身价值的价格，这个价格会随着时间推移不断发生变化，主要是受到供需变化、游戏玩法、版本更新等因素的影响，同时为了使得游戏经济系统稳定，游戏策划也会不断调控关键道具的价格。如果能根据过去的变化情况，较准确的预测出未来一段时间游戏中某一类虚拟道具的价格变化情况，对于游戏策划和运营都是十分有意义的。

在逆水寒中，卖家可以通过玩家商城上架商品，然后买家可以选择后购买自己心仪的商品,如图2所示，因此通过玩家商城我们可以获得每天某种游戏道具的交易价格，如图1所示逆水寒中某种道具每天平均交易价格随时间变化曲线。时间序列预测的问题也已经得到了广泛的研究，并且已经应用到需求预测、流量预测等领域中。根据过去某类关键道具的价格变化和相关游戏特征，如何一个多变量时间序列预测模型，准确预测未来某类关键道具的价格变化具有一定的研究意义。

## 问题定义

给定游戏中$$n$$个与该虚拟道具价格相关的特征，$$\mathbf{X}=(\mathbf{x}^1,\mathbf{x}^2,\cdots,\mathbf{x}^n)^\top = (\mathbf{x}*1,\mathbf{x}*2,\cdots,\mathbf{x}*T) \in \mathbb{R}^{n \times T}$$,其中T表示时间窗的长度，n表示相关特征的维度，同时已知该虚拟道具过去价格变化，$$(y\_1,y\_1,\cdots,y\_T)$$，其中$$y\_t \in \mathbb{R}$$。在给定相关特征和该道具价格过去一段时间(T)的变化之后，要求可以预测出未来一段时间(q)价格变化，$$({\tilde{y}}*{T+1}, {\tilde{y}}*{T+2}, \cdots, {\tilde{y}}*{q}) = F(y\_1,y\_1,\cdots,y\_T,\mathbf{x}\_1,\mathbf{x}\_2,\cdots,\mathbf{x}\_T)$$

![图1：某道具平均价格变化趋势](https://noterminus.gitee.io/image_bed/images/trade_price.png)

![图2：逆水寒玩家商城示例](https://noterminus.gitee.io/image_bed/images/nsh_player_shop.png)

## 问题挑战

相比于传统时间序列预测问题，该问题的挑战为：

* 该问题是multi-variables、multi-stage类型的时间序列预测问题。
* 游戏中的更新、变化如何表征。
* 数据集中存在丢失和噪声
* 该问题可能需要结合一定的经济学知识。

## 评价指标

虚拟道具价格预测问题主要通过以下指标进行评估：

* 在线时间准确率：RMSE、MSE、R Squared

## 数据集描述

该问题的数据集主要由以下几部分组成：某时刻玩家商城某道具的挂架特征（可以获得某时刻商城在售的某道具的数量及不同的价格）、某段时间玩家商城上架、某段时间玩家商城购买某道具特征、某段时间玩家消耗某道具的特征、某段时间玩家获得某道具特征。

* 某时刻玩家商城某道具的挂价特征

| 字段       | 描述   |
| -------- | ---- |
| item\_id | 物品id |
| server   | 服务器  |
| shop\_id | 商店id |
| price    | 当前价格 |
| cnt      | 数量   |
| ds       | 时间分区 |

* 某段时间玩家商城上架特征

| 字段       | 描述   |
| -------- | ---- |
| item\_id | 物品id |
| server   | 服务器  |
| shop\_id | 商店id |
| price    | 上架价格 |
| cnt      | 上架数量 |
| ds       | 时间分区 |

* 某段时间玩家商城购买特征

| 字段       | 描述   |
| -------- | ---- |
| item\_id | 物品id |
| server   | 服务器  |
| shop\_id | 商店id |
| price    | 购买价格 |
| cnt      | 购买数量 |
| ds       | 时间分区 |

* 某段时间玩家消耗某道具的特征

| 字段       | 描述   |
| -------- | ---- |
| item\_id | 物品id |
| server   | 服务器  |
| cnt      | 消耗数量 |
| reason   | 消耗原因 |
| ds       | 时间分区 |

* 某段时间玩家获得某道具特征

| 字段       | 描述   |
| -------- | ---- |
| item\_id | 物品id |
| server   | 服务器  |
| cnt      | 获得数量 |
| reason   | 获得来源 |
| ds       | 时间分区 |

## 联系我们

如有任何问题，请联系 <lihao01@corp.netease.com>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fuxi-up-research.gitbook.io/open-project/research_topics/game_item_price_prediction.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
