网站建设的付款方式网站源码在线提取
2026/4/18 12:00:16 网站建设 项目流程
网站建设的付款方式,网站源码在线提取,长尾关键词排名工具,代理平台返点原文#xff1a;towardsdatascience.com/how-to-perform-a-b-testing-with-hypothesis-testing-in-python-a-comprehensive-guide-17b555928c7e 你是否曾想过#xff0c;你对网站或营销策略的更改是否真的产生了影响#xff1f;#x1f914; 在本指南中#xff0c;我将向你…原文towardsdatascience.com/how-to-perform-a-b-testing-with-hypothesis-testing-in-python-a-comprehensive-guide-17b555928c7e你是否曾想过你对网站或营销策略的更改是否真的产生了影响 在本指南中我将向你展示如何使用假设检验来有信心地做出基于数据的决策。在数据分析中当运行A/B 测试以比较营销活动的两个版本、网页设计或产品功能时假设检验经常被使用以便做出基于数据的决策。你将学到什么 假设检验的过程不同类型的测试理解 p 值解释假设检验的结果1. 理解假设检验 什么是假设检验假设检验是一种决定样本数据中是否有足够证据支持关于总体的特定信念的方法。简单来说它是一种测试你做出的更改是否有实际效果或者任何差异是否只是由于偶然的方法。关键概念总体参数代表整个总体特征的值例如网站的真正转化率。样本统计量从样本中计算出的一个值用于估计总体参数例如从访客样本中得出的转化率。零假设H0: 默认假设。它通常表示没有效果或没有差异。备择假设H1: 与零假设相矛盾。它代表你正在测试的结果。⚠️ 你的目标将是否定零假设因此接受备择假设 ⚠️测试类型根据你的数据和测试内容你可以从几种统计检验中选择。以下是一个简要概述1. Z 检验目的当样本量较大时用于查看样本均值与总体均值之间或两个样本的均值或比例之间是否存在显著差异。何时使用大样本量n≥30数据近似正态分布示例检查用户在网站上花费的平均时间是否与行业平均水平不同。Z 检验的类型单样本 Z 检验检验样本均值是否与已知的总体均值有显著差异。双样本 Z 检验比较两个独立样本的均值。比例 Z 检验检验关于总体比例的假设通常在处理分类数据和大型样本量时使用。2. t 检验目的当样本量较小时用于确定样本均值之间是否存在显著差异。何时使用样本量小n 30总体方差未知数据近似呈正态分布示例在数据集较小的情况下比较营销活动前后平均销售额。T 检验的类型单样本 T 检验检验样本均值是否与已知或假设的总体均值有显著差异。独立双样本 T 检验比较两个独立样本的均值。配对样本 T 检验比较同一组在不同时间点的均值例如治疗前后。3. 卡方检验目的用于测试分类变量之间的关系。何时使用:数据是分类的如是/否男/女测试独立性或拟合优度示例确定客户满意度是否与购买的产品类型相关。卡方检验的类型独立性卡方检验确定两个分类变量之间是否存在关联。卡方拟合优度检验确定样本数据是否与总体分布相匹配。4. 方差分析方差分析目的用于比较三个或更多组的均值。何时使用:比较超过两组数据是数值且呈正态分布示例比较不同地区的平均销售额。2. 假设检验过程 要进行假设检验请遵循以下七个步骤提出假设选择显著性水平α收集和总结数据选择适当的测试并检查假设计算检验统计量确定 p 值做出决策并解释结果让我们通过一个实际例子来逐一说明每个步骤3. 实际例子营销中的 A/B 测试 场景假设你想知道你的网站的新版本版本 B是否比你的当前网站版本 A导致更高的转化率。让我们找出答案你应该使用哪种测试以及为什么你正在比较两个网站版本的转化率比例。你的目标确定版本 B 的转化率是否高于版本 A。您的数据特征数据类型分类已转化/未转化样本量两个版本都大nAnB1,000已知参数总体方差未知组数两组独立组研究设计样本是独立的访客被随机分配到每个版本考虑到这些特征比例的 Z 检验是正确的选择因为你正在比较两个独立样本之间的比例样本量较大数据是分类的。第 1 步提出假设 零假设H0版本 B 的转化率小于或等于版本 A ❌。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/7210475aff621a954748a48fff211351.png备择假设H1版本 B 的转化率高于版本 A ✅。https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/0a4e377912456b019e79e78df88b2185.png说明你正在测试版本 B 是否比版本 A 表现更好。零假设假设没有改进或版本 B 更差。替代假设是你希望找到证据支持的假设——版本 B 更好。第 2 步选择显著性水平α选择 α 显著性水平这是在零假设实际上为真时拒绝零假设的概率犯第一类错误。常见选择0.055%0.011%对于我们的测试让我们使用 α0.05。说明5% 的显著性水平意味着你愿意接受有 5% 的机会错误地拒绝零假设。选择取决于你愿意承担多少风险。第 3 步收集和总结数据 版本 A当前网站样本量nA 1,000 访问者转化次数xA 80转化率pA 80/10000.088%版本 B新网站样本量nB 1,000 访问者转化次数xB 95转化率pB 95/10000.0959.5%第 4 步计算检验统计量 计算混合比例p由于你假设在H0下比例是相等的https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/17ba3942846c7fb53ee240befe7859c2.png作者说明混合比例代表假设版本之间没有差异的整体转化率。它提供了一个在H0下计算标准误差的常见比例。计算标准误差SEhttps://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/87ffda9b3965431072053b0484f50e65.png作者说明标准误差衡量我们预期从随机抽样中得到的变异性。计算 Z 分数https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/8e2c9ed17eec1bde714749149b6eed14.png作者说明Z 分数衡量观察到的两个样本比例之间的差异与零H0下的预期差异的距离有多少个标准误差。Z 分数1.15在H0下的预期差异如果H0为真我们预期没有差异因此这是 0问题在预期差异之上 1.15 个标准误差是否足以认为增加是显著的第 5 步确定 p-value 理解 p-value如果零假设H0是真的p-value 是观察到一个与计算出的 Z 分数一样极端或更极端的 Z 分数的概率。在我们的例子中p-value 是在没有版本之间实际差异的情况下得到 1.15 或更高 Z 值的概率。对于右侧尾部的检验因为H1pBpAp-value 是https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/75ae83dd053f8c89ac9c5e57688ced72.png作者计算 p-value使用标准正态分布表或计算器p-value1−P(Z≤1.15)≈1−0.88230.12说明如果H0是真的得到 1.15 或更高 Z 分数的概率是12%。这意味着观察到的差异可能很容易是偶然发生的。重要提示在本教程中我们不会深入探讨计算 p 值的数学细节。相反我们将使用 Python 的统计库为你计算它们或参考标准概率分布表。第 6 步做出决策并解释结果 为了做出决策我们必须比较我们的p 值和我们的α。**为什么比较 p 值与显著性水平α显著性水平α我们设定的阈值用于判断观察到的结果是否具有统计学意义。通常设定为 5%0.05。如果 p 值 ≤ α拒绝H0结果是统计显著的。如果 p 值 α未能拒绝H0没有足够的证据得出显著影响的结论。决策p 值0.12显著性水平α我们设定的阈值用于判断观察到的结果是否具有统计学意义。通常设定为 5%0.05。由于 p 值 α我们未能拒绝零假设。解释没有足够的证据表明版本 B 在 5%的显著性水平上比版本 A 更好。观察到的增加可能仅仅是随机事件的结果。12% 5%在H0下有 12%的机会观察到 Z1.15即使实际上两个版本之间没有差异。想象重复多次进行实验如果版本 A 和版本 B 之间确实没有差异并且你多次重复实验大约**12%**的时间你可能会观察到 1.5或更多的差异这仅仅是偶然。快速 Python 教程A/B 测试实战 让我们用一个实际的 Python 示例来展示我们所学的一切我们虚构的公司名为TechGear他们想要测试其网站上的一项新功能。场景TechGear是一家专注于科技小工具的在线零售商。他们想知道添加新的推荐引擎版本 B是否比他们当前的网站版本 A提高了购买率。第 1 步导入库 首先你需要导入必要的 Python 库。importnumpyasnpimportpandasaspdfromstatsmodels.stats.proportionimportproportions_ztestimportmatplotlib.pyplotaspltimportseabornassns第 2 步生成合成数据 我们将创建一个数据集模拟用户在网站两个版本上的行为。# Set the random seed for reproducibilitynp.random.seed(42)# Define sample sizesn_A1000# Number of visitors in Version An_B1000# Number of visitors in Version B# Define conversion ratesp_A0.08# 8% conversion rate for Version Ap_B0.095# 9.5% conversion rate for Version B# Generate conversions (1 purchase, 0 no purchase)conversions_Anp.random.binomial(1,p_A,n_A)conversions_Bnp.random.binomial(1,p_B,n_B)# Create DataFramesdata_Apd.DataFrame({version:A,converted:conversions_A})data_Bpd.DataFrame({version:B,converted:conversions_B})# Combine datadatapd.concat([data_A,data_B]).reset_index(dropTrue)第 3 步总结数据 让我们看看我们的数据看起来如何。# Calculate the number of conversions and total observations for each versionsummarydata.groupby(version)[converted].agg([sum,count])summary.columns[conversions,total]print(summary)第 4 步执行 Z 检验 我们将使用proportions_ztest函数来进行假设检验。# Number of successes (conversions) and number of trials (visitors)conversions[summary.loc[A,conversions],summary.loc[B,conversions]]nobs[summary.loc[A,total],summary.loc[B,total]]# Perform the z-teststat,p_valueproportions_ztest(countconversions,nobsnobs,alternativesmaller)print(fZ-statistic:{stat:.4f})print(fP-value:{p_value:.4f})说明Z 统计量告诉我们观察到的差异与零假设之间的标准差数。P 值如果零假设为真观察到这种结果的概率。第 5 步解释结果 让我们解释输出。alpha0.05# Significance levelifp_valuealpha:print(We reject the null hypothesis. Version B has a higher conversion rate! )else:print(We fail to reject the null hypothesis. No significant difference detected. )如果你拒绝了H0新的推荐引擎是有效的你可能考虑将其推广到所有用户。如果你未能拒绝H0新功能没有产生显著影响。你可能想测试其他想法。其他注意事项 随机性由于我们正在生成随机数据每次运行代码的结果可能不同。重复测试在现实场景中考虑使用更多用户或更长时间运行测试以收集更多数据。恭喜你刚刚使用 Python 完成了一项 A/B 测试。关键要点 假设检验基础陈述零假设H0和备择假设H1。目标确定是否有足够的证据来拒绝H0。测试类型根据数据类型和样本大小选择合适的统计测试。假设检验步骤1\.State the Hypotheses2\.Choose Significance Level(αalphaα)3\.CollectandSummarize Data4\.Select the Appropriate Test5\.Calculate the Test Statistic6\.Determine the p-value7\.Make a Decision设定明确的目标确切知道你要测试什么以及为什么要测试。随机分配随机分配用户到控制组和测试组以避免偏差。使用足够的样本大小更大的样本会产生更可靠的结果。控制变量保持其他因素不变以隔离效应。运行测试足够长的时间确保测试持续时间能够捕捉典型的用户行为。考虑实际影响评估检测到的差异是否对你的业务有意义。清晰沟通以直接的方式向利益相关者展示结果。迭代和学习使用发现结果来指导未来的测试和改进。你已经到达了文章的结尾——恭喜 希望你喜欢这篇文章。如果你觉得它有帮助请考虑点赞并关注我。我将定期撰写关于揭示机器学习算法的神秘面纱、阐明统计学概念以及分享将 ML 项目部署到生产中的见解。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询