hitsz-ids / synthetic-data-generator

SDG is a specialized framework designed to generate high-quality structured tabular data.
Apache License 2.0
3.28k stars 548 forks source link

时序数据生成功能 #170

Closed twodonkeys closed 6 months ago

twodonkeys commented 7 months ago

各位大佬,我想通过自己的各地区项目数据(时间,地区,天气,园区类型,和用电负荷等)训练模型,生成典型日的数据,不知道贵框架能否实现~~

使用场景:

①“帮我生成一份 北京地区 8月份 工业园区 某一阴天典型日 一天24小时的温度,湿度,辐照度,用电负荷等数据。” ②然后会生成一份24小时数据: image

看到其他库有类似功能:

https://colab.research.google.com/drive/1YLk2uwn8yrSRPy0soEeJwu8Hdk_tGTlE?usp=sharing#scrollTo=8bORDkGXJcgr

MooooCat commented 7 months ago

Hi @twodonkeys ,

We have received your PR and thank you for your valuable content.

If we will support the feature you proposed, after conducting a technical evaluation, we will add an Issue tagged Feature/SDG-Feature to describe the precise newly added technical feature, and keep you updated in subsequent conversations on this Issue :)

MooooCat commented 7 months ago

@twodonkeys

可否提供一份图中数据的csv版本(应包含尽量多的数据条目)供技术人员进行分析与实验?

Could you provide a csv version of this data in the figure (which should contain as many data entries as possible) for technical staff to analyze and experiment?

Wh1isper commented 7 months ago

只要通过对数据进行分组,应该可以实现。

就统计模型而言,最简单的方式或许可以如果将历年北京8月1日的天气整理成一张表,通过模型训练,应该可以生成无数个符合分布的背景8月1日的天气,将这个过程针对31天重复31次,即可获得无数组仿真数据。

我不太清楚基于LLM模型或者GAN模型应该如何更好地组织数据,同时,这一日的前后应该也是有参考价值的,我们最好可以详细研究一下这个场景和对应的数据集,以便进行更好地仿真实现

twodonkeys commented 7 months ago

@twodonkeys

可否提供一份图中数据的csv版本(应包含尽量多的数据条目)供技术人员进行分析与实验?

Could you provide a csv version of this data in the figure (which should contain as many data entries as possible) for technical staff to analyze and experiment? open-meteo-39.89N116.36E47m (1).csv

类似这种类型的数据,每天的天气情况,还有当天的一些气象标签,我可以用气象标签生成符合气象特征的数据。

MooooCat commented 7 months ago

就统计模型而言,最简单的方式或许可以如果将历年北京8月1日的天气整理成一张表,通过模型训练,应该可以生成无数个符合分布的背景8月1日的天气,将这个过程针对31天重复31次,即可获得无数组仿真数据。

这种方法应该是OK的,但是对于很多用户而言,可能获得如此多 / 准确的数据可能并不是太容易。

如果仅有一年的数据,其实这一年的数据是能够有很多参考价值的,有一些经典的统计学算法来解决这个问题,例如:

此类通过分析季节性(不同于周期性)、周期性、趋势等时间序列特征,来生成数据,这种方法可能可以需要更少的数据。

我感觉这些算法或许更适合解决这个问题中的一列,例如温度、湿度等。

也许可以开发一种算法,已知一些特征数值、补全其他特征数值的算法,这应该是可行的。

再结合时间序列等经典方法,也许可以更优雅地解决这一问题。