深度学习 / 数据处理:如何处理偏态数据

这篇具有很好参考价值的文章主要介绍了深度学习 / 数据处理:如何处理偏态数据。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1 前言

当我们使用一个线性回归模型时,通常这个模型是在很大假设的前提下才有一个很好的结果:

  • 1、假设预测因子和预测目标之间的关系是线性的
  • 2、数据不存在外在噪声:不存在一些极端的数据
  • 3、非共线性( collinearity):如果你的预测因子和预测目标之间高相关,可能会发生过拟合
  • 4、正态分布:如果预测因子和目标变量是正态分布,则可以进行更可靠的预测
  • 5、尺度:因为它是一个基于距离的算法,所以预测因子应该进行归一化,使得在相关的量纲或者量级上

其中,对于第四点,说明了数据应该符合一个高斯分布,如下所示:

深度学习 / 数据处理:如何处理偏态数据,tensorflow,机器学习,深度学习,深度学习,人工智能,偏态分布

可能你使用的数据并不是一个完美的高斯分布,也无法处理为一个完美的高斯分布,但是并不意味着你不去尝试,下面介绍如何处理偏态数据。

什么是偏态数据

  • 偏态数据:当数据的分布曲线不对称时(与完全对称的正态分布曲线相比)。
  • 数据中有两种不同类型的偏态,左(负)或右(正)偏。
    深度学习 / 数据处理:如何处理偏态数据,tensorflow,机器学习,深度学习,深度学习,人工智能,偏态分布
    给个降水数据的一般分布情况:
    深度学习 / 数据处理:如何处理偏态数据,tensorflow,机器学习,深度学习,深度学习,人工智能,偏态分布

2 偏态数据的影响

  • 降低模型(特别是基于回归的模型)描述典型case的能力:因为它必须处理极端值的罕见case。也就是说,右偏的数据在低值上的预测结果,比在高值上的预测结果更好。偏态的数据也不适用于许多统计方法。但是,基于tree的模型不受影响。

为了避免机器学习模型的能力不被影响,应该对偏态数据进行处理,处理为一个近似标准正态分布,处理的方法取决于数据的特征。

3 处理偏态数据的方法

3.1

log转换 可能是第一种应该尝试的方法来去除偏态分布

y = np.log1p(y)
  • 这个实际上就是log(1+x),这个对于降水数据的去偏还是挺不错的

  • 注意:无法转换0或负值(为所有值添加常数以确保值 > 1)

3.2 剔除极端值

对于降水数据不太适合,因为降水数据本身就是大部分为晴天,异常降水是少部分,是典型的右偏数据类型。

3.3 最大最小正态化

3.4 立方根转换

当值太大时,可以做一个立方根
可以应用于负值

具体没有试过,感觉对于降水数据不适用

3.5 平方根转换

y = np.sqrt(y)
  • 不适用于包含负值的数据

3.6 倒数转换

3.7 平方转换

  • 适用于左偏数据分布

3.8 Box Cox transformation

scipy已经封装好了,可以之间调用.
而且这个方法和log转换差不多,也并不复杂

from scipy import stats
y = stats.boxcox(y)

基于下面的方程进行转换,只适用于正值
深度学习 / 数据处理:如何处理偏态数据,tensorflow,机器学习,深度学习,深度学习,人工智能,偏态分布
当包含负值时,可以使用以下的方程:
深度学习 / 数据处理:如何处理偏态数据,tensorflow,机器学习,深度学习,深度学习,人工智能,偏态分布

3.9 对于预测目标的变量进行重采样

  • undersampling
  • oversampling
  • SMOTE

本质上没有解决模型对于偏态数据的学习处理能力

总结

总的来说,对于降水这种偏态分布的数据来说,使用log转换和box cox转换都是有作用且存在必要的的。

引用

1、 https://www.e-education.psu.edu/meteo810/content/l5_p5.html
2、 https://www.mdpi.com/2076-3417/10/18/6247 Handling Skewed Data: A
Comparison of Two Popular Methods
3、 https://www.sciencedirect.com/science/article/abs/pii/S0022169423002895
A comprehensive implementation of the log, Box-Cox and log-sinh transformations for skewed and censored precipitation data
4、 https://stats.stackexchange.com/questions/47698/kriging-on-log-transformed-rainfall-data
5、 https://www.researchgate.net/publication/239792614_RAINBOW-A_software_package_for_hydro_meteorological_frequency_analysis_and_testing_the_homogeneity_of_historical_data_sets
6、 https://blogs.ubc.ca/colinmahony/2014/10/17/should-precipitation-variables-be-transformed-prior-to-pca/
Should precipitation variables be transformed prior to PCA?
7、 https://www.ncbi.nlm.nih.gov/pmc/articles/PMC4120293/
Log-transformation and its implications for data analysis
8、 https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2020GL089794
Skewness of Temperature Data Implies an Abrupt Change in the Climate System Between 1985 and 1991
9、 https://journals.physiology.org/doi/full/10.1152/advan.00018.2018
Explorations in statistics: the log transformation文章来源地址https://www.toymoban.com/news/detail-518540.html

到了这里,关于深度学习 / 数据处理:如何处理偏态数据的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Keras-5-深度学习用于文本和序列-处理文本数据

    本篇学习记录为:《Python 深度学习》第6章第1节(处理文本数据) 知识点: 深度学习处理文本或序列数据的基本方法是: 循环神经网络 (recurrent neural network) 和 一维卷积神经网络 (1D convert) ; 这些算法的应用范围包括:文档分类、时间序列分类、时间序列比对、时间序列预测

    2024年02月13日
    浏览(47)
  • 12大类150个图像处理和深度学习开源数据集

    本文整理了150 个深度学习和图像处理领域的开源数据集,包括:目标检测、人脸识别、文本识别、图像分类、缺陷检测、医学影像、图像分割、图像去雾、关键点检测、动作识别、姿态估计、自动驾驶和 RGBT 等12个方向。 1. T-LESS数据集 类型:目标检测 数量:39000 数据集下载

    2024年04月22日
    浏览(127)
  • 爬虫异常处理之如何处理连接丢失和数据存储异常

    在爬虫开发过程中,我们可能会遇到各种异常情况,如连接丢失、数据存储异常等。本文将介绍如何处理这些异常,并提供具体的解决代码。我们将以Python语言为例,使用 requests 库进行网络请求和 sqlite3 库进行数据存储。 1. 处理连接丢失 连接丢失可能是由于网络不稳定、目

    2024年02月10日
    浏览(48)
  • 深度学习和大数据技术推动自然语言处理迈向新高度

    近年来,深度学习和大数据技术的不断进步,使得自然语言处理(Natural Language Processing,NLP)取得了显著的成果。人们正致力于研究如何使计算机更好地理解和生成人类语言,以及如何应用NLP技术改善搜索引擎、语音助手、机器翻译等领域。本文将探讨这一技术领域的最新进

    2024年01月22日
    浏览(60)
  • 数据预处理的人工智能与深度学习:如何提高模型性能

    数据预处理是人工智能(AI)和深度学习(DL)领域中的一个关键环节,它涉及到数据清洗、数据转换、数据归一化、数据增强等多种操作,以提高模型性能。在过去的几年里,随着数据规模的增加和复杂性的提高,数据预处理的重要性得到了广泛认识。本文将从以下几个方面进行

    2024年02月19日
    浏览(79)
  • 深度学习中用来训练的train.py 探究学习2.1( 数据预处理)

    下列为mmcls中数据预处理部分  train_pipeline是一个训练过程的配置列表,用于定义数据预处理的步骤。下面是train_pipeline中各个步骤的介绍: 1. LoadImageFromFile:从文件中加载图像。 2. RandomResizedCrop:随机缩放裁剪图像到指定大小。 3. RandomFlip:以一定的概率随机水平翻转图像。

    2024年02月04日
    浏览(57)
  • Python深度学习实例--基于卷积神经网络的小型数据处理(猫狗分类)

    卷积神经网络,也叫 CNN ,它是计算机视觉应用几乎都在使用的一种深度学习模型。我们都知道,成功提取显著相关的特征是保障任何机器学习的算法成功的保障,传统的机器学习模型依赖领域专家的输入特征,或者基于计算特征的提取技术。神经网络能够自动地从原始数据

    2024年02月03日
    浏览(64)
  • 深度学习与大数据技术的进步:自然语言处理的显著突破

    引言: 随着深度学习和大数据技术的迅速发展,自然语言处理(Natural Language Processing,简称NLP)在过去几年取得了令人瞩目的进步。NLP是研究计算机如何理解和生成人类语言的领域,它在改善搜索引擎、语音助手、机器翻译等领域的应用中发挥着重要作用。本文将探讨深度学

    2024年01月23日
    浏览(67)
  • 基于深度学习的视频结构化:从信息提取到更高效的数据处理

    作者:禅与计算机程序设计艺术 1.1. 背景介绍 近年来,随着深度学习技术的发展,计算机视觉领域也取得了显著的进步。特别是,基于深度学习的图像处理算法在图像识别、语音识别等方面取得了突破性的进展。同时,视频结构化作为视频内容分发、存储和推荐的重要环节,

    2024年02月12日
    浏览(43)
  • 机器学习&&深度学习——seq2seq实现机器翻译(数据集处理)

    👨‍🎓作者简介:一位即将上大四,正专攻机器学习的保研er 🌌上期文章:机器学习深度学习——从编码器-解码器架构到seq2seq(机器翻译) 📚订阅专栏:机器学习深度学习 希望文章对你们有所帮助 在理解了seq2seq以后,开始用它来实现一个机器翻译的模型。我们先要进行

    2024年02月13日
    浏览(48)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包