数据分析知识点自用分享(Python)

可视化图像

散点图可以直观地看到两个变量之间的关系,包括线性趋势、离群点等。通过观察点的分布,可以看出变量是如何聚集或分散的,从而得知两个变量之间是否存在某种关系。

直方图是一种常用的数据可视化工具,是一种直观的图形,易于被人理解,能够清晰地展示数据的分布情况。

条形图是一种用于可视化数据分布和比较不同类别的图表类型。它通过使用矩形的长度来表示数据的数量或比例。其中,绘制水平条形图相对于垂直条形图有一些优点。因为`用途`的名称比较长,水平条形图可以确保文字不会重叠,使得比较不同类别之间的数值更加直观。

箱线图(Boxplot)是一种用于展示数据分布和离群值(异常值)的统计图表。它提供了关于数据集中位数、四分位数、离散程度和异常值的直观视觉展示。可以帮助识别中位数和四分位数、检测异常值和比较不同数据集的分布。

折线图:最简单直观的方法是绘制折线图,横轴表示时间,纵轴表示相应的数值或计数。这能够快速展示数据随时间的变化趋势。

柱状图(Bar Chart)通过使用不同长度的垂直矩形条来表示数据的大小或数量,以便于更直观地理解和比较不同类别之间的差异,易于理解和解读。

分组柱状图是一种数据可视化方法,用于展示两个或多个分类变量之间的关系。非常适合比较不同组别之间的数量或频率。

数据预处理

异常值(outlier)是指一组测定值中与平均值的偏差超过两倍标准差的测定值,与平均值的偏差超过三倍标准差的测定值,称为高度异常的异常值。在检查异常值时,首先要检查数据是否存在空值和重复值,然后再检查异常值。

一般来说,检查异常值的方法包括:

1、基于统计学方法的检测:使用统计学工具,如均值、标准差、中位数、IQR(四分位距法)等来检测异常值。通过计算数据分布的偏离程度来确定异常值范围。

2、箱线图法:箱线图提供了一种可视化的方法,可以用于检测数据中的异常值。在箱线图中,异常值通常被定义为超过上下四分位距的1.5倍的数据点。

3、局部异常因子(LOF)算法:LOF算法是一种基于密度的异常检测算法,它利用数据点周围邻居的密度来评估每个数据点的异常程度。

4、孤立森林算法:孤立森林是一种基于树的异常检测算法,它尝试通过将数据集隔离为很少的区域来寻找异常值。该算法通过构建随机树来寻找异常值,而不是通过密度或距离度量。

5、DBSCAN算法:DBSCAN是一种基于密度的聚类算法,它可以识别异常值作为不属于任何聚类簇的数据点。在DBSCAN中,通过计算每个点周围邻居的密度来确定异常值。

其中,IQR(四分位距法)相对简单直观,易于理解和解释,具有较强的鲁棒性,IQR使用四分位数作为参考,避免了受到极端值的影响,而且,可以灵活的设置阈值。

IQR (四分位距法)的计算过程包括:

-  计算第一四分位数(Q1):数据集中所有数值排序后,处于25%位置的值。

   Q1 = \frac{(n + 1) \times 0.25}{2}

- 计算第三四分位数(Q3):数据集中所有数值排序后,处于75%位置的值。

  Q3 = \frac{(n + 1) \times 0.75}{2}

其中,n是数据集的大小,$(n + 1) \times 0.25$表示处于$25\%$位置的索引,$(n + 1) \times 0.75$表示处于$75\%$位置的索引,除以2是为了处理奇数长度的数据集。

- 计算IQR:

  IQR = Q3 - Q1  

- 计算上下边界:

  upper_bound = Q3 + 1.5\times IQR

  lower_bound = Q1 - 1.5\times IQR

通常,异常值可以通过以下方式识别:

1、箱线图:使用boxplot函数绘制数据的箱线图,并将outliers参数设置为True,以便在图中显示异常值。箱线图是一种可视化方法,用于显示数据的分布情况。异常值通常被定义为超出箱线图上下限的数值。

2、Z-Score:Z-Score是一种统计方法,用于将数据点与数据集的平均值和标准差进行比较。使用Z-Score函数计算数据的 Z-Score,Z-Score 为小于-3或大于3的数据点通常被认为是异常值。这种方法适用于正态分布的数据集。

3、四分位数间距(IQR):四分位数间距是数据集的中间50%的数据范围。计算数据的 IQR(Interquartile Range),它将数据分为三个四分位数(q1、q2和q3),然后将数据中小于q1 - 1.5 * IQR或大于q3 + 1.5 * IQR的数值视为异常值。这种方法适用于非正态分布的数据集。

通常情况下,识别异常值的方法包括:

1、基于统计学方法的检测:使用统计学工具,如均值、标准差、中位数、IQR(四分位距法)等来检测异常值。通过计算数据分布的偏离程度来确定异常值范围。

2、箱线图法:箱线图提供一种可视化的方法,可以用于检测数据中的异常值。在箱线图中,异常值通常被定义为超过上下四分位距的1.5倍的数据点。

3、局部异常因子算法:是一种基于密度的异常检测算法,它利用数据点周围邻居的密度来评估每个数据点的异常程度。

4、孤立森林算法:孤立森林是一种基于树的异常检测算法,它尝试通过将数据集隔离为很少的区域来寻找异常值。该算法通过构建随机树来寻找异常值,而不是通过密度或距离度量。

5、DBSCAN算法:DBSCAN是一种基于密度的聚类算法,它可以识别异常值作为不属于任何聚类簇的数据点。在DBSCAN中,通过计算每个点周围邻居的密度来确定异常值。
 

填补缺失值的方法有:

- 特定值填补:用一个特定的常数或数值来替代缺失值。包括均值/中位数/众数等,对于数值型数据,可以用整个特征的均值、中位数或众数填补缺失值。

- 前向填补和后向填补:对于时间序列数据时,可以使用前一个时间点的值(前向填补)或后一个时间点的值(后向填补)来填补缺失值。

- 插值法:通过已知数据点之间的趋势来估计缺失值。常见的插值方法包括线性插值、多项式插值(如拉格朗日插值和牛顿插值)、样条插值等。

- 机器学习建模预测填补:包括回归模型填补、K-最近邻、随机森林填补等。

以下是一些常见的处理缺失值的方法:


- 忽略缺失值:如果缺失值数量较少,且对分析结果影响不大,可以直接忽略这些缺失值。
- 填充缺失值:可以使用一些填充方法来替换缺失值,例如平均值、中位数、众数、随机数等。选择填充方法时需要考虑数据的分布情况和缺失值的分布情况。
- 删除包含缺失值的行或列:如果缺失值数量较多,或者缺失值的分布不均匀,可以考虑删除包含缺失值的行或列。
- 基于模型的方法:可以使用一些机器学习算法来处理缺失值,例如决策树、随机森林等。这些算法可以自动处理缺失值,并根据其他特征来预测缺失值的值。
- 多重插补法:这是一种基于统计推断的方法,通过对缺失值进行多次插补来估计缺失值的可能值,并对每次插补的结果进行平均或合并。

检查日期类型字段异常值的方法包括:

1、基于统计的方法:时间间隔分析:计算日期之间的时间间隔,检测是否存在异常的间隔。基于统计的度量:可以计算日期字段的均值、标准差等统计度量,然后检测超出一定标准的值作为异常。

2、时间序列方法:季节性分解:使用季节性分解方法,将日期字段分解为趋势、季节和残差,然后检查残差部分是否包含异常。趋势分析:对日期字段进行趋势分析,检测是否存在异常的趋势或波动。

3、业务规则和专业知识:特殊日期规则:如果在业务中存在特殊日期,例如假期或促销活动,这些日期可能会导致异常行为,因此需要单独考虑。领域专业知识:结合领域专业知识,定义哪些日期被认为是异常的,例如在特殊事件之前或之后的日期。

4、时间窗口方法:移动平均或移动中位数:使用时间窗口内的统计信息,例如移动平均值或移动中位数,来检测异常。这可以帮助平滑数据并捕捉潜在的异常。

5、机器学习方法:Isolation Forest或One-Class SVM:这些无监督学习方法可以用于检测数据中的孤立点,适用于日期类型字段的异常检测。

其中,季节性分解将时间序列拆分为趋势、季节性和残差三个部分,能够更清晰地观察数据中的趋势和季节性变化。季节性分解的残差部分可以用于检测是否存在异常值。

一般来说,检查异常波动的方法包括:

1、描述性统计分析:标准差检查:通过计算金额列的标准差来评估金额的变化程度。均值和中位数比较:检查均值和中位数之间的差异。当存在异常值时,均值可能会受到影响而偏离中位数。

2、可视化方法:时间序列图:如果数据中存在时间戳或日期字段,可以绘制时间序列图来观察金额随时间的变化趋势。突然的波动可能是异常的表现。箱线图:绘制箱线图可以帮助识别数据中的异常值,箱线图显示了数据的中位数、上下四分位数和可能的异常值范围。

3、离群点检测方法:Z-Score 方法:使用 Z-Score 来识别偏离平均值超过一定标准差的数据点。
IQR 方法(四分位数间距):通过计算四分位数间距,即上四分位数和下四分位数之间的距离,然后识别那些超出1.5倍 IQR 的数据点作为异常值。

4、机器学习方法:聚类方法:使用聚类算法(如 K-Means)可以发现不同的数据群集。异常值可能会形成单独的簇。异常检测算法:使用孤立森林(Isolation Forest)、局部异常因子(Local Outlier Factor)等专门设计来识别异常值的算法进行检测。

5、规则或阈值方法:定义阈值:基于领域知识或经验,设置金额的阈值,并筛选出高于或低于该阈值的数据点作为异常值。

相关性分析

计算相关性方法一般包括:

1、皮尔逊相关系数(Pearson correlation coefficient):皮尔逊相关系数衡量了两个变量之间的线性相关程度,取值范围在-1到1之间。当值接近1时,表示两个变量呈正相关;当值接近-1时,表示两个变量呈负相关;当值接近0时,表示两个变量之间没有线性相关性。

2、斯皮尔曼等级相关系数(Spearman rank correlation coefficient):斯皮尔曼相关系数用于衡量两个变量之间的单调关系,即使两个变量之间的关系不是线性的,也能够较好地反映出它们之间的相关性。

3、肯德尔等级相关系数(Kendall rank correlation coefficient):肯德尔相关系数也用于衡量两个变量之间的单调关系,它衡量了两个变量的等级之间的一致性程度。

4、点二列相关系数(Point biserial correlation coefficient):点二列相关系数用于衡量一个二元变量和一个连续变量之间的相关性。

5、距平相关系数(Covariance and Correlation):协方差衡量了两个变量的总体误差,相关系数是基于协方差进行标准化得到的,可以用于比较不同数据集的相关性。

6、判定系数(Coefficient of determination):判定系数是皮尔逊相关系数的平方,表示一个变量的变异中有多少百分比可以由另一个变量的变异来解释。

卡方检验

卡方检验(Chi-square test)是一种用于确定两个分类变量之间是否存在显著关联的统计方法。它基于观察值与期望值之间的差异来评估变量之间的关联性。

卡方检验的基本思想是比较观察到的频数与期望的频数之间的差异。它将观察到的频数与期望的频数之间的差异转化为卡方值,然后通过卡方分布来计算p值。

卡方检验的计算方法如下:

1、建立假设:  
- 零假设(H0):两个变量之间没有关联,即观察到的频数与期望的频数之间的差异是由随机因素引起的。  
- 备择假设(H1):两个变量之间存在关联,即观察到的频数与期望的频数之间的差异不是由随机因素引起的。  

2、构建列联表(Contingency table):  
- 将两个分类变量构建成一个二维表格,行表示第一个变量的不同水平,列表示第二个变量的不同水平。  
- 计算每个单元格的观察到的频数。  

3、计算期望频数:  
- 根据零假设,计算每个单元格的期望频数。期望频数是基于两个变量独立的情况下,每个单元格的期望频数。  

4、计算卡方值:  
- 对于每个单元格,计算观察到的频数与期望的频数之间的差异。较大的卡方值表明观察到的分布与期望分布之间存在显著差异。  
- 将差异平方除以期望频数,然后将所有单元格的结果相加,得到卡方值。  

5、计算p值:  
- 根据卡方值和自由度(自由度等于单元格数减去行数和列数的乘积),查找卡方分布表或使用统计软件计算p值。  
- p值表示在零假设成立的情况下,观察到的差异或更极端差异的概率。  

6、判断结果:  
- 如果p值小于预先设定的显著性水平(通常为0.05),则可以拒绝零假设,认为两个变量之间存在显著关联。  
- 如果p值大于显著性水平,则无法拒绝零假设,即两个变量之间可能没有显著关联。  

自相关性分析

是一种用于检测时间序列中自身相关性的统计方法。它通过计算时间序列与其自身在不同时间点的滞后版本之间的相关性来揭示数据的结构和模式。其中,自相关函数(ACF)图是一种处理自相关性问题的方式,通过绘制时间序列与其滞后版本之间的相关性来可视化自相关结构。函数值的范围是-1到1,其中1表示完全正相关,0表示无相关性,-1表示完全负相关。

模型相关

逻辑回归

是一种广泛用于分类问题的统计学习方法,尤其是二分类问题。它可以帮助量化各个因素对目标变量的影响。

线性回归

是一种统计学和机器学习中常用的方法,用于建立变量之间线性关系的模型。线性回归模型相对简单,易于理解和解释,相对于其他复杂的模型,线性回归的训练和实现通常速度较快,可解释性强且适用性广泛。模型结果系数的正负表示特征与目标之间的正向或负向关系。系数的绝对值大小表示特征对目标影响强弱。

模型结果的解释为:
- 均方误差(MSE):MSE 衡量了模型预测值与真实值之间的平方差的平均值。数值越小表示模型在测试集上的预测效果越好。
- R平方值(R2):R2衡量了模型对目标变量方差的解释程度。它是一个介于0和1之间的值,越接近1表示模型对方差的解释越好。

数学模型一般包含:

1、确定性和随机性模型:

- 确定性模型:这类模型的输出完全由输入决定,没有随机成分。典型的例子是代数方程和微分方程。
- 随机性模型:这类模型包含一定的随机性质,例如概率模型和随机过程。

2、静态和动态模型:

- 静态模型:这类模型描述在某个特定时刻或瞬间的系统状态,不考虑时间的变化。
- 动态模型:这类模型考虑系统随时间的演变,通常用差分方程或微分方程表示。

3、离散和连续模型:

- 离散模型:描述在离散点上的系统,比如图论中的图模型。
- 连续模型:描述在连续域上的系统,比如微分方程描述的动力系统。

4、线性和非线性模型:

- 线性模型:满足叠加原理和比例原理,其输出与输入之间是线性关系。
- 非线性模型:输出与输入之间存在非线性关系,例如高次多项式模型。

5、描述性、预测性和解释性模型:

- 描述性模型:描述系统的特征和属性,通常用于理解系统的现状。
- 预测性模型:用于对未来事件或趋势进行预测,例如时间序列分析。
- 解释性模型:旨在解释系统内在的关系,帮助理解现象背后的原因。

6、物理模型和统计模型:

- 物理模型:基于物理规律和原理建立的模型,通常用于工程和自然科学领域。
- 统计模型:基于统计学原理和数据分析建立的模型,常用于描述数据分布和变化趋势。

7、黑盒模型和白盒模型:

- 黑盒模型:只关注输入和输出之间的关系,对内部结构不作特定假设。
- 白盒模型:对系统的内部结构和机制有详细的了解,通常基于物理或数学原理。

预测模型方法有: 

1、线性回归模型:目标是预测一个连续的数值,线性回归是一个简单而有效的方法。它建模了输入特征与目标之间的线性关系。

2、逻辑回归模型:用于二分类问题,可以扩展到多分类。逻辑回归可以输出概率,通常用于分类任务。

3、决策树和随机森林:决策树是一种基于树状结构的模型,而随机森林是多个决策树的集成。它们适用于分类和回归问题,能够处理复杂的非线性关系。

4、时间序列模型:数据涉及到时间,考虑使用时间序列模型,如ARIMA(差分整合移动平均自回归)或LSTM(长短时记忆网络)等。这些模型能够捕捉时间上的趋势和季节性。

5、回归树和集成回归:类似于决策树和随机森林,这些模型专注于处理回归问题,可以用于预测连续数值。

6、聚类与分类模型:如K均值聚类,用于将数据集分为不同的群组,可以用于发现隐藏的模式。

7、深度学习模型:包括卷积神经网络(CNN)、循环神经网络(RNN)和Transformer等,适用于图像处理、自然语言处理等复杂任务。

时间序列的预测模型一般包括:


- ARIMA模型(Autoregressive Integrated Moving Average):ARIMA模型是处理单变量时间序列数据的经典模型。包括自回归成分、差分成分和滑动平均成分。ARIMA模型适用于相对平稳的时间序列数据。
- SARIMA模型(Seasonal ARIMA):SARIMA是对ARIMA的扩展,专门用于处理具有季节性变化的时间序列数据。引入了季节性成分,能够更好地捕捉数据中的季节性模式。
- 指数平滑模型(Exponential Smoothing Models):指数平滑模型包括简单指数平滑、双指数平滑和三指数平滑。这些模型适用于平稳或近似平稳的数据,并通过对观测值进行加权平均来进行预测。
- 长短时记忆网络(LSTM)和循环神经网络(RNN):在深度学习领域,LSTM和RNN是用于处理时间序列数据的强大工具。它们能够学习长期的依赖关系,适用于复杂的非线性模式。
- Prophet模型:由Facebook开发的Prophet模型专门用于处理具有季节性、节假日效应等特征的时间序列数据。它是一种易于使用而且能够处理缺失数据的模型。

深度学习模型一般包含:


- 多层感知器(MLP):最简单的神经网络模型,由多个全连接层组成。适用于简单的分类和回归任务。
- 卷积神经网络(CNN):主要用于图像识别和计算机视觉任务。包括卷积层、池化层和全连接层,能够有效提取图像中的特征。
- 循环神经网络(RNN):适用于处理序列数据,如自然语言处理任务。通过循环结构处理序列中的依赖关系。
- 长短时记忆网络(LSTM):RNN 的一种变体,解决了传统 RNN 难以处理长序列依赖的问题,常用于时间序列数据和自然语言处理。


其它分析

一般时间趋势的分析方法包含:

1、折线图:最简单直观的方法是绘制折线图,横轴表示时间,纵轴表示相应的数值或计数。这能够快速展示数据随时间的变化趋势。

2、周期性分析:使用周期性分析方法,比如傅里叶变换、自相关函数、谱分析等,来识别数据中的周期性成分和频率特征。

3、时序分解:将时间序列数据分解成趋势、季节性和残差三个部分,例如使用STL方法或其他分解方法,以更清晰地了解数据中的不同成分。

4、回归分析:如果存在明显的趋势,可以进行回归分析,拟合趋势线或曲线,以更准确地描述数据的整体变化趋势。

5、可视化工具和库:使用Python的matplotlib、seaborn、Plotly等可视化库来创建交互式或静态图表,更直观地展示时间序列数据的趋势。

6、时间序列模型:使用ARIMA、Prophet等时间序列模型,对时间序列数据进行建模和预测,并观察模型拟合结果的趋势。

空间插值技术

用于估算未抽样位置上的数值,这在地理信息系统(GIS)、地统计学和空间数据分析中是非常常见的需求。

一般空间插值技术包含:

1、Kriging(克里金法):它是一种基于空间相关性的统计插值方法,利用半变异函数来建模空间相关性,从而进行空间预测。

2、反距离加权插值(Inverse Distance Weighting, IDW):根据已知点与插值点的距离的倒数进行加权,距离越近的点权重越大。这是一种简单而直观的插值方法,但它假设周围点的空间相关性是均匀的。

3、径向基函数插值(Radial Basis Function Interpolation, RBF):使用径向基函数来拟合已知点,从而插值未知点的值。这种方法通常对于具有复杂结构的数据效果较好。

4、样条插值:样条插值是一种光滑曲线插值方法,其中通过已知点拟合出一条平滑曲线。这包括自然样条、三次样条等。

5、天然邻近法(Natural Neighbor Interpolation):该方法使用已知点周围区域的几何形状来进行插值。它的优点之一是可以在边界上更好地处理插值。

6、高斯过程插值(Gaussian Process Interpolation):使用高斯过程建模数据的联合分布,可以用于估计未知位置的概率分布。

7、TIN插值(Triangulated Irregular Network Interpolation):通过将空间区域划分为不规则三角形网格,对每个三角形内的数值进行插值。

8、合成法(Composite Methods):结合多种插值方法,根据不同情境和数据特性选择最适合的插值方法。

空间插值技术通常要求数据中至少有一列包含空间坐标信息,以便了解每个数据点在空间中的位置。

确定数据集中主要指标,方法包含:

1、业务目标分析:理解使用数据集的业务目标,明确希望通过数据达到什么目标。

2、数据摘要统计:使用基本的统计方法来了解数据的概要信息。这包括计算均值、中位数、标准差等。

3、相关性分析:通过计算各列之间的相关性,识别哪些指标与其他指标相关。

4、可视化探索:使用图表和可视化工具,例如直方图、散点图、箱线图等,来深入探索数据。

5、领域专业知识:与领域专家沟通合作,以了解哪些指标在特定领域或业务情境中是最重要的。

仪表板一般包含:

1、指标卡片(Metric Cards):显示关键指标的小组件,例如总销售额、平均点击率等。

2、趋势图(Trend Charts):展示关键指标随时间的变化趋势。可以是折线图、柱状图、面积图等。

3、地图(Maps):数据涉及到地理位置,地图可以展示数据在地理空间上的分布。

4、排名(Ranking):展示数据的排名,比如产品销售排名、地区排名等。

5、数据表格(Data Tables):提供详细的数据视图,允许用户查看和分析原始数据。
 

检查标准化的方法包括:

1、规定命名规范:制定一套明确的命名规范,包括大小写、缩写、缩写展开等。确保所有人了解并遵循这些规范。

2、去除空格和特殊字符:检查并去除名称中的不必要的空格、特殊字符或符号,以确保一致性。

3、处理大小写:统一名称的大小写,是全部大写、全部小写,还是首字母大写。

4、处理缩写和同义词:统一缩写的使用,或者在可能的情况下,将缩写扩展为全称。处理可能存在的同义词,确保它们被一致地表示。

5、使用正规词汇:避免使用俚语、口语或地方性的术语,除非在整个数据集中得到了一致的定义。

6、使用统一的分隔符:如果名称中包含多个词或短语,确定并使用一致的分隔符,例如空格、连字符或下划线。

7、数据清洗和去重:对名称列进行数据清洗,根据要求删除重复项和错误项,确保每个商品只有一个标准化的名称。

文本分类一般需要的几个关键要素包括:


- 数据集:需要具有带有标签的训练数据集。这些数据应该包含文本样本以及与之相关联的类别或标签。
- 文本预处理:训练模型之前,需要对文本数据进行预处理。这包括去除特殊字符、标点符号和数字,词汇分割、转换为小写字母,去除停用词(如“and”、“the”等常见词语),进行词干化或词形还原等。
- 特征提取:从文本数据中提取有意义的特征表示。常用的特征提取方法包括词袋模型(Bag-of-Words)、TF-IDF(词频-逆向文件频率)、词嵌入(Word Embedding)等。这些方法可以将文本转换为数值特征向量,供机器学习模型使用。

主成分分析(Principal Component Analysis,简称PCA)

是一种常用的数据降维技术和特征提取方法。其主要目标是通过线性变换将原始数据映射到一个新的坐标系中,使得在新坐标系下数据的方差分布更分散,从而达到降低数据维度的目的。

一般主成分分析法都需要:

- 数据集:首先需要一个包含多个观测样本和多个特征(变量)的数据集。
- 中心化:在进行PCA之前,通常需要对数据进行中心化处理。中心化是指将每个特征的均值减去相应特征的均值,以确保数据的均值为零。
- 协方差矩阵:PCA的核心是计算数据的协方差矩阵。
- 特征值分解:对协方差矩阵进行特征值分解,得到特征值和对应的特征向量。
- 选择主成分:按照特征值的大小排序,选择前k个特征值对应的特征向量作为主成分,其中k是希望降低到的维度。

设计一个优选实验,需要的条件与步骤如下:


- 明确定义目标和指标:确定想要优化或改进的目标,以及将用于衡量成功的指标。例如,如果你的目标是提高销售量,那么销售量可能是一个重要的指标。
- 选择活动子类型:选择想要比较的活动子类型。确保选择的子类型涵盖了所关心的各种变化,这样就可以更全面地了解它们的效果。
- 随机分组:将参与实验的样本随机分为不同的组,每组对应一个活动子类型。确保分组时考虑到潜在的干扰变量,以确保组之间的比较是公平的。
- 实施活动:在每个组中实施相应的活动子类型。确保所有条件除了活动子类型之外尽可能相似,以便能够归因于活动子类型的效果。
- 收集数据:收集与定义的指标相关的数据。这可能包括销售量、点击率、转化率等。确保有足够的数据来进行统计分析。
- 分析数据:使用统计分析方法比如 t 检验或方差分析来比较不同活动子类型之间的效果差异。确保分析考虑到可能的干扰变量,并使用适当的控制变量。
- 解释结果:根据数据分析结果解释不同活动子类型之间的效果差异。如果有显著性差异,尝试理解是什么因素导致了这些差异。
- 调整策略:根据结果调整活动策略。如果某个活动子类型表现更好,考虑在未来的活动中增加其使用频率。
 

生存分析(Survival Analysis)

是一种统计方法,主要用于研究个体的生存时间或事件发生的时间。在生存分析中,生存通常指的是一个事件未发生的时间,可以是生命结束、设备故障、疾病复发等。生存分析的目标是估计生存曲线,即描述个体在一段时间内生存下来的概率分布。
生存分析通常涉及到以下概念:
- 生存函数(Survival Function):表示个体在某一时间点之前生存下来的概率。通常用S(t)表示,其中t是时间。
- 风险函数(Hazard Function):表示在给定时间点,个体在短时间内发生事件的概率。通常用λ(t)表示,即在时间t发生事件的概率密度。
- 生存曲线(Survival Curve):描述个体在不同时间点的生存概率。可以根据生存函数得到生存曲线。

生存分析的常见方法包括:
- Kaplan-Meier方法:用于估计生存函数,特别适用于右偏分布(即事件在较晚时间点发生较多)的数据。它可以处理部分数据缺失和截尾数据。
- Cox比例风险模型:用于分析影响生存时间的因素,允许考虑多个协变量。它基于风险比(Hazard Ratio)来衡量不同协变量对生存的影响。
- Log-rank检验:用于比较两组或多组生存曲线是否存在显著差异。常用于比较治疗组和对照组的生存情况。
- 生存回归模型:类似于Cox比例风险模型,但可以适用于不同的概率分布,如指数分布、Weibull分布等。
 

协同过滤

是推荐系统中常用的一种方法,它基于用户或物品之间的相似性进行推荐。
主要方法包括:
- 基于用户的协同过滤:计算用户相似度,找到相似用户,生成推荐。
- 基于物品的协同过滤:计算物品相似度,找到相似物品,生成推荐。

关联规则

是数据挖掘中的一种技术,用于发现数据集中不同属性之间的关联关系。它主要用于分析大规模数据集中项之间的关联关系,以找出经常同时出现的模式或者物品之间的关系。
关联规则挖掘的方法一般包括:
- Apriori算法:Apriori是最常用的关联规则挖掘算法之一。它基于一种称为'逐层搜索'的方法,从频繁项集开始,逐步生成更大的项集,直到找到不满足最小支持度要求的项集为止。这个算法的核心思想是利用频繁项集的性质,即任何子集都必须是频繁的,来减少搜索空间。
- FP-growth算法:FP-growth(频繁模式增长)是另一种用于发现频繁项集的算法。与Apriori不同,FP-growth不需要生成候选项集或者候选规则,它利用一种称为FP树的数据结构来压缩数据集并快速发现频繁项集。
- 关联规则评价:发现频繁项集之后,评价规则的质量是关联规则挖掘的一个重要步骤。常用的评价指标包括支持度、置信度和提升度。支持度衡量规则在数据集中出现的频繁程度,置信度度量规则的可靠性,而提升度表示规则中的关联程度与随机事件之间的关联程度之比。
- 关联规则的可视化:使用可视化工具如散点图、热力图等,以直观的方式展示不同项之间的关系。

聚类分析

是一种无监督学习方法,用于将数据集中的对象划分为相似的组别,使得同一组别内的对象彼此相似,而不同组别之间的对象差异较大。
常见的聚类分析方法包括:
- K-Means聚类:这是一种最常用的聚类方法,它将数据分为K个簇,并通过最小化每个数据点与所属簇中心的距离来确定簇的中心。
- 层次聚类:这种方法通过构建一棵树状结构来对数据进行聚类,其中每个节点表示一个簇,而叶子节点表示最终的簇。
- DBSCAN 聚类:这是一种基于密度的聚类方法,它将数据点分为不同的簇,其中每个簇由一组密度相连的点组成。
- OPTICS 聚类:这是一种改进的DBSCAN聚类方法,它可以更好地处理噪声和数据量的变化。
- 高斯混合模型聚类:是一种用于聚类的概率模型。它假设数据是由多个高斯分布组成的混合体,每个高斯分布对应一个潜在的聚类。
- 谱聚类:这种方法通过对数据的邻接矩阵进行谱分析来进行聚类,它可以有效地处理高维数据。

但在K-means聚类前,需要确定簇数。确定最佳簇数的常用方法有肘部法则、轮廓系数。
- 肘部法则可以反映出簇数对聚类效果的影响,进而选择最佳的簇数。
- 轮廓系数通过尝试不同的簇数量,计算每个簇数量下的轮廓系数,然后选择具有最高轮廓系数的簇数量,就可以确定最优的聚类数。

其中肘部法则基于观察聚类数与聚类效果的关系,通过绘制不同簇数下的聚类效果(如SSE,簇内平方和)曲线,可以直观地观察到一个拐点,即所谓的肘部。计算相对简单,所以将采用肘部法则选择最佳的簇数。

涉及分词

方法一般包含:
- NLTK(自然语言工具包):Python中的一个流行的自然语言处理库,提供了多种分词方法。
- spaCy:一款面向工业应用的自然语言处理库,提供了高效的分词和其他文本处理功能。
- Stanford CoreNLP:斯坦福大学开发的自然语言处理工具包,提供了分词、词性标注等功能。可以通过Java或Python调用。
- jieba(结巴分词):一款用于中文文本的分词工具,广泛应用于中文自然语言处理任务。
- nltk.tokenize.RegexpTokenizer(正则表达式分词):使用正则表达式定义分词规则。

判断数据分布是否稳定

常用方法是通过可视化和统计检验。下面是几种常见的方法:
- 直方图和密度图:绘制数据的直方图或密度图,观察数据分布的形状是否在不同时间段或样本集之间保持稳定。如果数据在不同时间段或样本集之间的分布形状相似,则可以认为数据分布是稳定的。
- QQ图:绘制数据的QQ图(Quantile-Quantile Plot),将数据的分位数与理论分布的对应分位数进行比较。如果数据点沿着一条直线分布,且该直线与理论分布的对角线接近重合,则可以认为数据分布是稳定的。
- 方差分析(ANOVA):适用于比较多个组别或时间段的数据。通过计算不同组别或时间段之间的差异,判断数据的方差是否稳定。如果方差差异较小,则可以认为数据分布是稳定的。

SWOT分析(优势、劣势、机会、威胁)

是一种用于评估业务或项目内外部环境的方法。

1、优势(Strengths):
   -   业务或产品的内在优势和优点。
   -   例如,技术创新、强大的团队、独特的市场定位等。
 
2、劣势(Weaknesses):
   -   业务或产品的内在缺陷和不足之处。
   -   例如,落后的技术、有限的资源、弱品牌等。

3、机会(Opportunities):    
   -   外部环境中有望利用的有利因素。
   -   例如,市场扩张、新技术趋势、竞争对手的困境等。

4、威胁(Threats):
   -   外部环境中可能对业务或产品造成危害的因素。
   -   例如,市场竞争加剧、法规变化、经济不稳定等。

蒙特卡罗方法

是一种基于随机抽样的数值计算技术,通常用于求解无法通过解析方法得到精确解的问题。

蒙特卡洛仿真(Monte Carlo simulation)是一种通过随机抽样和统计分析的方法来模拟复杂系统行为的技术。这种方法得名于摩纳哥的蒙特卡洛赌场,因为它涉及到大量的随机数生成。
 

文本挖掘(Text Mining)

是从大量文本数据中提取有价值信息的过程。它涵盖了一系列技术和方法,包括但不限于自然语言处理(NLP)、数据挖掘、信息检索和机器学习。下面我将介绍一些常用的文本挖掘技术:

- 正则表达式(Regular Expressions):正则表达式是用于模式匹配和文本处理的强大工具。提供了一种灵活、强大的方式来搜索、匹配和处理文本数据。
- 文本分类(Text Classification):文本分类是指将文本数据分配到一个或多个类别中。
- 实体识别(Named Entity Recognition, NER):NER是识别文本中具体实体(如人名、地点、机构名等)的过程。例如,从新闻文章中提取国家、人物或日期。
- 情感分析(Sentiment Analysis):情感分析是识别和分类文本中的情感倾向(如正面、负面、中性)。通常用于分析消费者反馈、社交媒体评论等。

其中,正则表达式是一种强大的文本处理工具,适用于许多编程语言和应用中,用于实现复杂的文本搜索、提取和替换操作。

描述性分析方法

一般包括:
- 数据的统计量来描述,例如:均值、标准差等。
- 图示技术来描述,例如:直方图、散布图、趋势图、排列图、条形图和饼分图等。
- 文字语言分析和描述,例如:统计分析表、分层、因果图、亲和图等。

朴素贝叶斯(Naive Bayes)

是一种基于贝叶斯定理的简单且高效的分类算法。
常见的朴素贝叶斯分类器如下:
- 高斯朴素贝叶斯:适用于特征是连续变量的情况,假设特征值服从高斯分布(正态分布)。
- 多项式朴素贝叶斯:通常用于特征是多分类变量的情况,适合用于处理离散的计数数据,如文本数据(单词出现的次数)。
- 伯努利朴素贝叶斯:主要用于处理二值型特征,即布尔型特征。

  • 26
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值