十种常用数据分析方法

  1. 描述性统计分析(Descriptive Statistics)

    • 使用场景:用来总结数据的基本特征,如平均值、中位数、标准差等。

    • 优势:简单易懂,快速总结数据。

    • 劣势:无法深入挖掘数据的潜在关系。

    • 模拟数据及示例代码

      import pandas as pd
      import numpy as np# 生成模拟数据
      data = {"user_log_acct": ["linfbi007", "13601089905_p", "jd_UbSjKwFGOfbv"] * 100,"parent_sale_ord_id": np.random.randint(100000000000, 200000000000, size=300),"sale_ord_id": np.random.randint(100000000000, 200000000000, size=300),"sale_ord_tm": pd.date_range(start="2023-01-01", periods=300, freq="H").tolist(),"item_sku_id": np.random.randint(100000000, 200000000, size=300),"item_name": ["冰箱", "洗衣机", "电视"] * 100,"brandname": ["新飞", "海尔", "小米"] * 100,"sale_qtty": np.random.randint(1, 5, size=300),"item_first_cate_name": ["家用电器"] * 300,"item_second_cate_name": ["大家电"] * 300,"item_third_cate_name": ["冰箱", "洗衣机", "电视"] * 100,"before_prefr_unit_price": np.random.uniform(1000, 2000, size=300),"after_prefr_unit_price": np.random.uniform(800, 1500, size=300),"user_actual_pay_amount": np.random.uniform(700, 1400, size=300),"sale_ord_valid_flag": [1] * 300,"cancel_flag": [0] * 300,"check_account_tm": pd.date_range(start="2023-01-01", periods=300, freq="H").tolist(),"total_offer_amount": np.random.uniform(100, 500, size=300),"self_ord_flag": [1, 0] * 150,"user_site_city_id": np.random.randint(1, 100, size=300),"user_site_province_id": np.random.randint(1, 30, size=300),"user_lv_cd": [0, 1, 2] * 100
      }df = pd.DataFrame(data)# 描述性统计分析
      desc_stats = df.describe()
      print(desc_stats)

    结果: 描述性统计结果包括每个数值字段的计数、平均值、标准差、最小值、25%分位数、50%分位数、75%分位数和最大值。通过这些数据,可以初步了解数据的分布情况。

    判断:识别出用户实际支付金额的均值和标准差,帮助定价策略。了解各个商品类别的销量分布情况,便于库存管理。

  2. 数据可视化(Data Visualization)

    • 使用场景:通过图表展示数据,发现趋势和模式。
    • 优势:直观易懂,便于发现数据中的规律。
    • 劣势:图表的准确性和美观度受数据和设计影响。
    • 模拟数据及示例代码
      import matplotlib.pyplot as plt# 销售数量分布图
      plt.figure(figsize=(10, 6))
      df['sale_qtty'].hist(bins=20)
      plt.title('Sales Quantity Distribution')
      plt.xlabel('Quantity')
      plt.ylabel('Frequency')
      plt.show()
      
    • 结果: 通过绘制销售数量的直方图,可以看到不同销售数量的频率分布,判断出哪些销售量区间是最常见的。

    • 判断:确定销售数量的常见区间,便于营销策略的制定。识别异常销售量,分析其原因。

  3. 相关性分析(Correlation Analysis)

    • 使用场景:分析两个或多个变量之间的线性关系。
    • 优势:揭示变量间的关系,便于进一步建模。
    • 劣势:仅限于线性关系,无法捕捉非线性关系。
    • 模拟数据及示例代码
      # 相关性分析
      correlation_matrix = df.corr()
      print(correlation_matrix)
      

    结果: 生成变量之间的相关系数矩阵,了解每对变量之间的相关程度。

    判断

    • 确定价格和销量之间的关系,优化定价策略。
    • 识别促销活动对实际支付金额的影响,调整促销方案。
  4. 假设检验(Hypothesis Testing)

    • 使用场景:验证假设,判断样本数据是否支持某个假设。
    • 优势:提供统计依据,支持决策。
    • 劣势:需要设定显著性水平,结果受样本量影响。
    • 模拟数据及示例代码
      from scipy import stats# 检验用户实际支付金额的均值是否为1000
      t_stat, p_value = stats.ttest_1samp(df['user_actual_pay_amount'], 1000)
      print(f"T-statistic: {t_stat}, P-value: {p_value}")
      

    结果: 计算T统计量和P值,通过P值判断是否拒绝原假设。

    判断

    • 如果P值小于显著性水平(如0.05),则拒绝原假设,说明用户实际支付金额显著不同于1000。
    • 帮助优化定价策略。
  5. 回归分析(Regression Analysis)

    • 使用场景:预测变量之间的关系,用于预测和因果分析。
    • 优势:能量化多个因素的影响,进行预测。
    • 劣势:需要满足一定假设,复杂模型需要更多计算资源。
    • 模拟数据及示例代码
      import statsmodels.api as sm# 线性回归分析
      X = df[['before_prefr_unit_price', 'total_offer_amount', 'sale_qtty']]
      y = df['user_actual_pay_amount']
      X = sm.add_constant(X)
      model = sm.OLS(y, X).fit()
      print(model.summary())
      

    结果: 生成回归分析的详细报告,包括系数、标准误、P值等。

    判断

    • 识别主要影响用户支付金额的因素,优化营销策略。
    • 通过模型进行销售预测,改进库存管理。
  6. 聚类分析(Clustering Analysis)

    • 使用场景:将数据分组,发现数据中的自然分类。
    • 优势:便于发现潜在的用户群体或商品类别。
    • 劣势:需要确定聚类数,结果解释较为复杂。
    • 模拟数据及示例代码
      from sklearn.cluster import KMeans# 聚类分析
      kmeans = KMeans(n_clusters=3)
      df['cluster'] = kmeans.fit_predict(df[['before_prefr_unit_price', 'total_offer_amount', 'sale_qtty']])
      print(df['cluster'].value_counts())
      

    结果: 每个聚类的样本数量分布,了解数据的聚类情况。

    判断

    • 识别不同用户群体,进行精准营销。
    • 分类商品,优化推荐系统。
  7. 时间序列分析(Time Series Analysis)

    • 使用场景:分析时间序列数据的趋势和季节性变化。
    • 优势:预测未来趋势,进行库存和资源规划。
    • 劣势:模型复杂,需要较长时间序列数据。
    • 模拟数据及示例代码
      from statsmodels.tsa.seasonal import seasonal_decompose# 时间序列分析
      df.set_index('sale_ord_tm', inplace=True)
      result = seasonal_decompose(df['user_actual_pay_amount'], model='additive', period=24)
      result.plot()
      plt.show()
      

    结果: 分解时间序列,得到趋势、季节性和残差成分。

    判断

    • 识别销售趋势,调整营销策略。
    • 预测季节性变化,优化库存管理。
  8. 频繁项集和关联规则挖掘(Association Rule Mining)

    • 使用场景:发现商品之间的购买关联,提高交叉销售。
    • 优势:揭示商品间的潜在关系,提升销售额。
    • 劣势:规则数量庞大,需筛选有意义的规则。
    • 模拟数据及示例代码
      from mlxtend.frequent_patterns import apriori, association_rules# 生成模拟购物篮数据
      basket = df.groupby(['sale_ord_id', 'item_name']).size().unstack().reset_index().fillna(0).set_index('sale_ord_id')# 频繁项集
      frequent_itemsets = apriori(basket, min_support=0.1, use_colnames=True)
      rules = association_rules(frequent_itemsets, metric="lift", min_threshold=1)
      print(rules.head())
      

    结果: 生成关联规则,包括支持度、置信度和提升度。

    判断

    • 识别经常一起购买的商品,优化商品组合。
    • 提升交叉销售策略,提高销售额。
  9. 分类分析(Classification Analysis)

    • 使用场景:对用户或商品进行分类,用于精准营销或风险评估。
    • 优势:便于预测新样本的类别,优化策略。
    • 劣势:需大量标记数据,复杂模型需更多计算资源。
    • 模拟数据及示例代码
      from sklearn.model_selection import train_test_split
      from sklearn.ensemble import RandomForestClassifier
      from sklearn.metrics import classification_report# 分类分析
      X = df[['before_prefr_unit_price', 'total_offer_amount', 'sale_qtty']]
      y = df['user_lv_cd']
      X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=42)
      clf = RandomForestClassifier()
      clf.fit(X_train, y_train)
      y_pred = clf.predict(X_test)
      print(classification_report(y_test, y_pred))
      

    结果: 生成分类报告,包括精确度、召回率和F1分数。

    判断

    • 识别用户等级,进行精准营销。
    • 评估商品风险,优化库存策略。
  10. 异常检测(Anomaly Detection)

    • 使用场景:检测异常交易或行为,防范风险。
    • 优势:发现异常情况,防止损失。
    • 劣势:模型复杂,需调整参数。
    • 模拟数据及示例代码
      from sklearn.ensemble import IsolationForest# 异常检测
      iso_forest = IsolationForest(contamination=0.1)
      df['anomaly'] = iso_forest.fit_predict(df[['user_actual_pay_amount', 'sale_qtty']])
      print(df['anomaly'].value_counts())
      

    结果: 识别出异常样本的数量和分布。

    判断: 发现异常交易,防范欺诈行为。识别异常用户行为,进行风险控制。

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

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

相关文章

7B2PRO5.4.2主题 wordpress主题开心版免授权源码

这款7B2 PRO主题也是很多小伙伴儿喜欢的一个主题,有伙伴儿反馈说想学习下新版本,这不就来了,免受权开心版本可供学习使用,要运营还是尊重下版权到官网进行购买吧。 下载:7B2PRO5.4.2 wordpress主题免授权直接安装_麦…

软件工程作业5

某培训机构入学管理系统有报名、交费和就读等多项功能,下面是对其各项功能的说明: 1、报名:由报名处负责,需要在学员登记表上进行报名登记,需要查询课程表让学员选报课程,学院所报课程将记录到学员选课表 2、交费&am…

vim方向键乱码

问题描述 有的docker容器使用的父镜像比较精简,安装的vim不带vimrc文件,只支持使用 h, j, k, l来进行方向键的移动。具体的历史背景是: 在 Vim 的前身 vi 编辑器开发时(1976 年),很多终端并不具备现代键盘…

C#算数运算符

赋值运算符 符号: 先看右侧 再看左侧 将右侧的数据赋值给左侧的变量 使用方法: int num 5; 加 符号: 先计算 在赋值 右边两个值相加 赋值给左边 使用方法: int i 1 2; 减 符号:- 右边两个值相减 赋值给左边 使用方法: int i 4 -…

The First项目报告:解读ZK技术的跨链巨头Polyhedra Network

4 月 17 日,零知识证明(ZK)基础设施开发团队 Polyhedra Network与谷歌云达成战略合作,以响应 Web2 与 Web3 市场对于该技术日益增长的需求。双方将基于Polyhedra的尖端研究及专有算法通过谷歌云提供的零知识即服务向全球开发者开放…

JS-01基本介绍和数据类型

目录 1 JS基本介绍 2 数据类型 2.1 基本数据类型(值类型) 2.2 复杂数据类型(引用类型) 2.2 关于undefined类型 1 JS基本介绍 ## JS基本介绍 JS的用途:Javascript可以实现浏览器端、服务器端(nodejs)。。。 浏览器…

hexo静态博客 部署到xxx.github.io github 静态页

hexo安装 npm install hexo-cli -g hexo init blog cd blog npm install hexo server key配置 ssh-keygen -t ed25519 -C “emaile.com” 添加key到github err gitgithub.com: Permission denied (publickey). fatal: Could not read from remote repository. 配置GitHub仓…

精酿啤酒:品质与口感在不同消费人群中的差异与共性

在啤酒市场中,不同消费人群对品质与口感的喜好存在一定的差异。然而,Fendi club啤酒凭借其卓着的品质和与众不同的口感,在不同消费人群中都展现出一定的共性。 从性别差异来看,男性消费者通常更注重啤酒的品质和口感,而…

TiDB-从0到1-体系结构

TiDB从0到1系列 TiDB-从0到1-体系结构TiDB-从0到1-分布式存储TiDB-从0到1-分布式事务 一、TiDB体系结构图 TiDB基础的体系架构中有4大组件 TiDB Server:用于处理客户端的请求PD:体系的大脑,存储元数据信息TiKV:存储数据TiFlash…

【机器学习】【深度学习】批量归一化(Batch Normalization)

概念简介 归一化指的是将数据缩放到一个固定范围内,通常是 [0, 1],而标准化是使得数据符合标准正态分布。归一化的作用是使不同特征具有相同的尺度,从而使模型训练更加稳定和快速,尤其是对于使用梯度下降法的算法。而标准化的作用…

软件功能测试的类型和流程分享

在现代社会,软件已经成为人们生活中不可或缺的一部分,而在软件的开发过程中,功能测试是不可或缺的环节。软件功能测试指的是对软件系统的功能进行检查和验证,以确保软件在各种情况下能够正常运行,并且能够按照用户需求…

2024年国内最全面最前沿人工智能理论和实践资料

引言 【导读】2024第11届全球互联网架构大会圆满结束。会议邀请了100余位行业内的领军人物和革新者,大会通过主题演讲、实践案例分享,以及前瞻性的技术讨论,探索AI技术的边界。 近日,备受瞩目的第十一届全球互联网架构大会&#x…

SOLIDWORKS正版代理商该如何选择?

伴随着科技的迅猛进步,CAD计算机辅助设计软件在制造行业中的重要性日益凸显。其中SOLIDWORKS凭借其强大的建模功能,模拟分析,自动化工程图纸生成及协作与数据管理能力成为制造业的佼佼者。作为SOLIDWORKS正式版代理商,可为制造业提供综合技术…

AlmaLinux9安装zabbix6.4

文章目录 [toc]一、配置源1)查看系统2)配置源 二、安装zabbix三、安装数据库1)卸载mariadb2)安装MySQL3)配置开启自启动4)MySQL设置root密码 四、导入数据五、配置zabbix六、参考地址六、参考地址 一、配置…

为什么会有websocket(由来)

一、HTTP 协议的缺点和解决方案 1、HTTP 协议的缺点和解决方案 用户在使用淘宝、京东这样的网站的时候,每当点击一个按钮其实就是发送一个http请求。那我们先来回顾一下http请求的请求方式。 一个完整的http请求是被分为request请求节点和response响应阶段的&…

chrony时间同步

文章目录 [toc]一、、配置chronyd1)时区设置为本地时区2)配置chrony服务端3)配置chronyd客户端 二、chronyd常用命令1)chronyd常用命令说明2)timedatectl说明3)设置时间 一、、配置chronyd Centos7默认使用…

iOS--工厂设计模式

iOS--工厂设计模式 设计模式的概念和意义类族模式UIButton作为类族模式的例子总结 三种工厂设计模式简单工厂模式(Simple Factory Pattern):代码实例 工厂方法模式(Factory Method Pattern):代码实例 抽象工…

Spring boot集成easy excel

Spring boot集成easy excel 一 查看官网 easyexcel官方网站地址为easyexcel官网,官网的信息比较齐全,可以查看官网使用easyexcel的功能。 二 引入依赖 使用easyexcel,首先要引入easyexcel的maven依赖,具体的版本根据你的需求去…

C语言学习笔记--C语言的实型数据

实型常量的表示方法(掌握) 实型也称为浮点型。实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有两种形式:十进制小数形式,指数形式。 1十进制数形式:由数码0~9和小数点组成。 例如&…

Linux安装PostgreSQL脚本

Hello , 我是恒。 快速上手 适用系统: Linux centos 7.x(其他linux也行,改一下脚本里面的软件管理包就行) 开箱即用的一键安装脚本:curl -O https://heng1.oss-cn-beijing.aliyuncs.com/psql_install.sh &…