新时代八股
仅用来记录一些面经。
中心极限定理(Central Limit Theorem, CLT)是统计学中的一个重要定理,它说明了在适当的条件下,大量独立同分布的随机变量之和的分布接近正态分布。这个定理有两个重要的内容和条件:
- 内容:当样本量足够大时(通常n≥30),无论原始总体分布是什么,样本均值的分布都趋近于正态分布。这意味着,我们可以利用正态分布的性质来估计均值的概率,进行假设检验等。
- 条件:中心极限定理适用的条件包括样本是随机的、样本之间相互独立、样本来自同一总体或分布、样本大小足够大(n≥30通常被认为是足够的,但对于非常偏斜的分布,可能需要更大的样本量)。
Z检验和t检验的差别,以及为什么小样本用t检验:
- Z检验用于样本量大(n>30)且总体标准差已知的情况,依据的是正态分布。
- t检验用于样本量小(n≤30)或总体标准差未知的情况,依据的是t分布。t分布与正态分布相似,但是在尾部更为厚重,以适应小样本情况下估计的不确定性更大的问题。
- 小样本使用t检验的原因:当样本量小且总体标准差未知时,使用样本标准差来估计总体标准差,会引入额外的不确定性。t分布考虑了这种不确定性,提供了更适合小样本情况下的测试方法。
什么是置信区间;AB测试的样本量怎么确定,会受到哪些因素影响:
- 置信区间是一种用来估计未知参数(如总体均值)的区间估计方法。一个置信区间给出了一系列可能包含参数真实值的范围,并附有一个置信水平(如95%),表明如果我们多次计算置信区间,其中约95%的置信区间会包含参数的真实值。
AB测试的样本量确定:受多个因素影响,包括:
- 预期效果大小:期望检测到的效果越小,需要的样本量越大。
- 统计功效(Power):通常设置为80%或更高,较高的统计功效需要更大的样本量。
- 显著性水平(Alpha):通常设置为5%,降低显著性水平会增加需要的样本量。
- 结果的变异性:结果数据的变异性越大,需要的样本量越大。
- 分配比率:AB两组之间的分配比率,不平等的分配可能需要更大的样本量。
闲鱼的广告对用户体验的影响及实验设计:广告对用户体验的影响可以是正面的也可以是负面的。正面影响包括提供有用信息、发现新商品等;负面影响包括打断用户体验、增加信息过载等。
设计这个项目或实验时,可以采取AB测试方法来评估不同广告展示策略对用户行为和满意度的影响。实验设计的步骤可能包括:
定义目标:明确实验的目标,比如提高点击率、增加用户停留时间或提升满意度等。
确定变量:确定你想测试的广告策略(如广告位置、频率、类型等)作为独立变量,以及将如何衡量用户行为或满意度的变化作为因变量。
随机分组:将用户随机分为至少两组,一组接受现有的广告策略(控制组),另一组接受测试的广告策略(实验组)。
确定样本量:根据预期效果的大小、统计功效、显著性水平等因素计算所需的最小样本量。
收集数据:运行实验一定时间,收集各组的用户行为数据和反馈。
分析结果:使用统计方法(如t检验)比较两组的结果,判断广告策略的改变是否显著影响了用户行为或满意度。
做出决策:基于实验结果,决定是否应该全面推广新的广告策略。
实验过程中,还需要考虑外部因素的影响,比如季节性变化、平台整体用户行为的变化等,以确保实验结果的准确性。此外,确保用户隐私和数据安全也是设计和实施实验时的重要考虑。
怎么用rand7()生成rand10(): 要使用只能生成1到7之间随机数的rand7()
函数来生成1到10之间的随机数,一种方法是使用拒绝采样。思路是先使用rand7()
生成一个更大范围的均匀分布,然后拒绝不在目标范围内的值。具体步骤如下:
首先,调用两次rand7()
生成一个矩阵,其中的每个值均匀分布于1到49之间。
- 将这个范围划分为两部分:1到40和41到49。如果生成的数落在1到40之间,我们将其映射到1到10之间;如果落在41到49之间,我们将其丢弃,并重新生成。
- 对于1到40的结果,我们可以通过
(结果 - 1) % 10 + 1
的方式映射到1到10。
这种方法的关键在于,通过拒绝采样,我们保证了最终结果1到10的概率是均等的。
简历中的一个建模项目样本量、样本来源、如何打标、样本分布: 在简历中描述建模项目时,可以包括以下几个方面的信息:
- 样本量:提供数据集中包含的样本数量,例如“项目使用了一个包含10,000个样本的数据集”。
- 样本来源:描述数据的来源,比如是公司内部数据、公开数据集还是通过爬虫获得的数据,例如“数据来自公开的X数据集”。
- 如何打标:说明了如何给数据样本标注标签的方法,比如是通过专家手动标注,用户反馈,或者使用某种算法自动标注,例如“利用用户行为数据通过算法自动给样本打标”。
- 样本分布:描述数据的分布特征,比如是平衡还是不平衡,哪些类别的样本比较多,例如“数据集包含两个类别,其中一个类别的样本数量是另一个的两倍,显示出数据的不平衡性”。
决策树和随机森林的差别,GBDT和XGBoost的基函数差别:
决策树与随机森林:
- 决策树是一种基本的分类和回归方法,通过构造决策树来模拟决策过程,对数据进行分类或回归预测。它容易理解和解释,但容易过拟合。
- 随机森林是基于决策树的一种集成学习方法,它通过构建多个决策树并进行投票或平均来改善预测性能。随机森林通过引入随机特征选择来增加决策树之间的差异性,从而减少过拟合的风险。
GBDT与XGBoost的基函数差别:
基函数的构建
GBDT:在GBDT中,每一棵树都是在减少前一棵树残差的基础上建立的,目的是逐步缩小模型与真实值之间的差距。每一次迭代,都会建立一个新的决策树去拟合前一轮所有树的预测值与真实值之间的残差。
XGBoost:XGBoost在基函数的构建方面采用了更加精细的控制,引入了正则项来控制树的复杂度,包括树的深度、节点分裂所需的最小损失函数下降值等,以避免过拟合。此外,XGBoost还采用了二阶泰勒展开来近似损失函数,使得优化更加精确。
模型复杂度的控制
GBDT:GBDT控制模型复杂度的方法较为简单,主要通过限制树的深度、设置最小叶节点样本数等参数来避免过拟合。
XGBoost:XGBoost在模型复杂度的控制上引入了正则化项,包括树的叶子节点个数和叶子节点权重的L2正则化,这有助于进一步减少模型过拟合的风险。
处理缺失值
GBDT:传统的GBDT对于缺失值的处理需要在数据预处理阶段进行,没有内置有效的处理缺失值的机制。
XGBoost:XGBoost可以自动处理缺失值。在节点分裂时,XGBoost会尝试将缺失值分配到增益最大的那个方向,同时还可以学习缺失值的最佳方向,从而更加灵活地处理数据中的缺失情况。
计算效率
- XGBoost对于计算效率进行了大量的优化,包括特征的预排序和近似的分位数策略等,这使得XGBoost在处理大规模数据集时,相较于传统GBDT,具有更高的计算效率和扩展性。
概率题解析:袋子里有两个球,有放回地抽,平均抽多少次能至少每个球都抽出一次
这个问题可以用几何分布的知识来解决。首先,我们抽到第一个球的时候,第二次抽到另一个球的概率是1/2。由于每次抽球都是独立事件,我们可以计算出在第n次首次抽到不同球的期望值。
我们设E为至少抽到每个球一次的平均次数。首次抽到一个球之后,每次尝试抽到另一个球都可以视作一次新的独立尝试,这些尝试直到成功为止。由于每次成功的概率是1/2,期望次数(E)就是几何分布的期望公式1/p的结果,其中p是成功的概率。
在这个场景中,抽第一个球总是成功(因为我们不在乎是哪个球),关键在于之后如何抽到另一个不同的球。这里p = 1/2,所以期望次数E = 1/p = 2。
因此,包括第一次成功抽取在内,平均而言,需要2次尝试才能确保至少每个球都被抽出一次。但实际上,我们需要考虑的是从开始抽球直到抽完所有不同球的整个过程,首次抽取不计入几何分布的期望次数计算中,所以实际的平均尝试次数是2+1=3次。
怎么提升DAU(日活跃用户数):提升DAU可以从多个方面入手,关键在于提高用户的参与度和留存率。一些策略包括:
提高用户体验:优化应用的性能和界面设计,减少加载时间,提升用户体验。
增加用户粘性:通过推送通知、个性化内容推荐等方式,定期吸引用户回到应用。
优化产品功能:根据用户反馈和使用数据,持续迭代产品,增加或优化那些能提升用户满意度和使用频率的功能。
社交功能:鼓励用户邀请朋友加入、分享内容到社交网络,利用社交网络效应增加用户基数。
举办活动:定期举办线上活动或挑战,增加用户参与感和社区归属感。
激励措施:通过积分、奖励、排行榜等激励机制,鼓励用户日常登录和活跃参与。
两个推荐算法得到的结果DAU有差异,怎么找原因: 分析两个推荐算法DAU差异的原因,可以从以下几个方面入手:
用户体验:比较两种算法推荐内容的相关性、多样性和新颖性。用户可能更偏好那些能够提供更相关或更新颖内容的推荐算法。
算法偏差:检查两个算法是否对某类用户或内容有偏差,例如某个算法可能更倾向于推荐热门内容,而忽略了长尾内容。
实验设计:确保AB测试设计公平,比如实验组和对照组的用户分布均匀,没有其他因素干扰结果。
性能指标:分析除DAU外的其他关键性能指标,如用户留存率、用户参与度(如平均会话时长、每日平均操作次数)、转化率等,以获得更全面的性能比较。
用户反馈:收集并分析用户对于推荐内容的直接反馈,了解用户满意度和偏好,可能会揭示导致DAU差异的原因。
技术问题:检查是否存在技术问题影响了某个算法的性能,比如加载时间长、错误率高等,这些都可能影响用户体验和DAU。
市场动态:分析期间内是否有特殊的市场活动或外部因素影响了用户行为,比如节假日、竞品活动等。
综合这些分析,可以更准确地定位两个推荐算法导致DAU差异的原因,从而对算法进行针对性的优化。
SQL重复曝光的效率
如果你是在询问如何用SQL查询识别或管理重复曝光的数据效率问题,那么这通常涉及到数据去重、统计分析以及优化查询性能。下面提供一个基本的策略框架:
- 识别重复数据:可以使用SQL的
DISTINCT
关键字、GROUP BY
语句或ROW_NUMBER()
窗口函数等方法来识别重复的曝光记录。 - 数据去重:根据业务需求,可以选择删除重复记录或者保留一条记录。使用
ROW_NUMBER()
结合CTE
(公用表达式)或者临时表可以有效地处理去重。 - 效率优化:优化SQL查询效率通常涉及到合理使用索引、避免全表扫描、减少数据的冗余和避免复杂的子查询等策略。
- 分析影响:使用聚合函数(如
COUNT()
,SUM()
)来分析重复曝光的程度及其可能的影响,帮助制定更有效的数据处理和营销策略。
具体的SQL语句和优化策略需要根据你的数据库表结构、索引设计以及查询需求来定制。处理重复数据是提高数据分析质量和决策效率的重要步骤,同时也有助于提高数据库查询的性能。
随机森林和XGBoost的区别:
- 随机森林(Random Forest)是一种基于决策树的集成学习技术,通过构建多棵决策树并进行投票或平均来提高预测准确性。它通过在构建每棵树时随机选择特征子集来增加模型的多样性,从而减少过拟合的风险。
- XGBoost(eXtreme Gradient Boosting)是一种高效的梯度提升算法,通过顺序地添加决策树模型来最小化一个可微分的损失函数。XGBoost在模型训练时引入了正则化项(用于控制模型的复杂度),从而防止过拟合。它还采用了高级的技术,如列采样(Column Sampling)和精确的贪心算法,以提高效率和减少内存消耗。
关键区别在于:
- 模型构建:随机森林是并行构建树模型的,而XGBoost是顺序构建的。
- 目标函数:XGBoost在其目标函数中加入了正则化项,这有助于控制模型的复杂度,防止过拟合。
- 处理速度和效率:XGBoost通常在处理速度和模型效果上优于随机森林,特别是在处理大规模数据集时。
k-means的原理: k-means是一种简单而广泛使用的聚类算法。它的目标是将n个观测值划分到k个簇中,以使每个观测值属于最近的簇中心,从而以此准则最小化簇内的方差。算法步骤如下:
- 初始化:随机选取k个观测作为初始簇中心。
- 分配步骤:将每个观测分配给最近的簇中心。
- 更新步骤:重新计算每个簇的中心,通常是簇内所有观测值的均值。
- 重复步骤2和3,直到簇中心不再显著改变,算法收敛。
SQL窗口函数及其区别: SQL窗口函数允许对数据集的子集,即“窗口”,进行操作并返回单个值。常用的窗口函数包括ROW_NUMBER()
、RANK()
、DENSE_RANK()
、LEAD()
、LAG()
、SUM()
、AVG()
等。
- ROW_NUMBER() 为每个分组内的行提供一个唯一的序号。
- RANK() 在有相同值的情况下会为它们提供相同的排名,并在下一个排名时跳过之前的排名数。
- DENSE_RANK() 类似于RANK(),但它在遇到相同值时不会跳过任何排名。
- 窗口函数通过
OVER()
子句与其他SQL语句区分开来,OVER()
子句定义了窗口函数操作的数据范围和分组。
中心极限定理和大数定律:
中心极限定理(CLT)表明,如果你有一个足够大的样本量,那么样本均值的分布将趋近于正态分布,无论原始总体分布是什么。这个定理在样本量大(一般规则是样本量大于30)时尤其适用。
大数定律(Law of Large Numbers, LLN)指出,随着试验次数的增加,试验结果的平均值将趋近于期望值。简单来说,越多的数据将提供越稳定的长期平均值。大数定律保证了随着样本量的增加,样本均值将趋于总体均值。
两者的主要区别在于:中心极限定理关注于样本均值的分布形状将如何趋近于正态分布,而大数定律关注于随着样本量的增加,样本均值将如何趋近于总体均值。
线性回归共线性、过拟合、正则化:
- 共线性:在线性回归模型中,如果两个或多个预测变量之间存在高度相关关系,则称为共线性。共线性会导致模型参数的估计变得不稳定和不准确。解决共线性的一种方法是移除一些高度相关的变量,或者使用主成分分析(PCA)来减少维度。
- 过拟合:过拟合发生在模型过于复杂,以至于它开始捕捉到训练数据中的随机噪声,而不是潜在的数据分布。过拟合的模型在新的、未见过的数据上表现往往较差。可以通过简化模型(减少变量数)、收集更多数据或使用交叉验证来减轻过拟合。
- 正则化:正则化是一种降低过拟合风险的技术,通过在损失函数中添加一个惩罚项来约束模型参数的大小。常见的正则化形式包括L1正则化(Lasso回归)和L2正则化(Ridge回归)。L1正则化倾向于产生稀疏参数,即很多参数为0,有助于变量选择;L2正则化倾向于将参数值平滑地分布在更小的范围内,有助于处理参数估计的不稳定问题。
客户留存率下降分析: 分析客户留存率下降的原因时,可以从以下几个维度进行:
- 数据分析:首先检查留存率数据,分析留存率下降的时间点和幅度,是否与特定事件(如产品更新、市场活动)对应。
- 用户反馈:收集和分析用户反馈,了解用户不再使用产品或服务的原因。
- 市场和竞品分析:了解市场环境和竞品动态,是否有新的竞争者或产品吸引了你的用户。
- 产品分析:分析产品功能、用户体验等是否存在问题,导致用户流失。
- 用户行为分析:利用用户行为数据,分析留存用户与流失用户在使用产品的行为上的差异。
- 细分市场分析:进行用户细分,分析不同用户群体的留存率差异,可能某些特定群体的留存率下降特别明显。
- A/B测试:如果有新的功能或策略上线,可以通过A/B测试分析这些变化是否对留存率有负面影响。
根据分析结果,可以针对性地制定改进措施,比如优化产品功能、改善用户体验、增强客户服务支持等。
Python 1-100随机除掉一个数,找到除掉的数的方法:
- 方法1 - 算术求和:计算1到100的总和,然后减去给定数组的总和,差值即为丢失的数字。
- 方法2 - 异或操作:利用异或操作的性质,对1到100以及数组中的所有数字进行异或操作,结果即为缺失的数字(因为相同的数字异或结果为0,0与任何数字异或结果为该数字)。
- 方法3 - 排序:将数组排序,然后遍历数组,检查缺失的数字是哪一个。
- 方法4 - 布尔数组:使用一个布尔数组标记1到100的数字是否出现,然后检查哪个数字没有被标记。
- 方法5 - 数学公式:使用等差数列求和公式(n*(n+1)/2)计算1到100的和,减去数组的和得到缺失的数字。
常见数据倾斜case及解决方法:
- 情景:在大数据处理和分布式计算中,数据倾斜常发生在数据集中某些键值对应的数据量远大于其他键值。
- 解决方法:
- 增加键的粒度:通过增加键的粒度来分散大键,如将key拆分成多个子键。
- 重分区:在分布式计算中,通过对数据进行更合理的重分区来均匀分配数据量。
- 采样:对数据进行采样,估算倾斜的程度和倾斜的键,然后对这些键进行特殊处理。
- 过滤:如果某些键的数据量过大,可以考虑先进行过滤或预处理。
- 使用广播变量:对于小数据集,可以使用广播变量减少数据倾斜的影响。
对DS和DA的理解,为什么想做DS:
数据科学家(DS)与数据分析师(DA)的主要区别在于角色的职责和技能深度。数据科学家通常涉及预测模型、机器学习、深度学习等高级分析,解决更复杂的问题,并且在工作中经常需要开发新的算法或数据处理技术。数据科学家不仅需要拥有数据分析的能力,还需要具备强大的编程技能、统计知识、以及对业务的深入理解。
- 数据分析师(DA)的工作更侧重于通过各种数据分析工具和技术(如SQL、Excel、BI工具等)来解析数据,发现数据背后的趋势和模式,为业务决策提供支持。数据分析师的工作更注重于对现有数据的解释和可视化展示。
- 为什么想做DS:选择成为数据科学家的理由可能包括:
- 解决复杂问题的热情:对于喜欢挑战和解决复杂问题的人来说,数据科学提供了一个独特的机会,可以应用机器学习和深度学习等技术来解决实际问题。
- 对数据的热爱:对数据和数据背后故事的好奇心驱使人探索更深层次的数据分析。
- 技术多样性和创新:数据科学领域的快速发展提供了学习新技术和创新的广阔空间。
- 业务影响力:数据科学能够直接对业务策略和决策产生重大影响,提供数据驱动的解决方案,这种能力吸引那些希望在业务发展中发挥关键作用的人。
- 职业发展前景:数据科学是一个高需求领域,拥有广阔的职业发展机会和优厚的薪酬待遇。
综上,无论是对技术的热爱、解决问题的满足感,还是职业发展的广阔前景,都是驱动人们选择成为数据科学家的强大动力。
参数模型与非参数模型的区别:
- 参数模型假设数据符合某种特定分布,这种模型由一组有限的参数定义。例如,线性回归使用系数作为参数来描述数据间的关系。
- 非参数模型不对数据的分布作出严格假设,不通过固定数量的参数定义,灵活度更高。例如,决策树和核方法就是非参数模型的例子。
处理数据不均衡的方法:
- 重采样:对少数类进行过采样或对多数类进行欠采样。
- 合成样本生成:如SMOTE算法,通过生成合成样本来增强少数类。
- 惩罚机制:在模型训练过程中对少数类赋予更高的权重。
- 使用特定的评估指标:如F1分数、精确率和召回率而非准确率来评价模型。
- 集成学习方法:如使用Bagging和Boosting策略来减少类别不平衡的影响。
AB实验和因果推断的关系:AB测试是因果推断的一种实践方法,通过随机分配实验组和对照组来控制所有其他变量,确保观察到的效果是由干预措施引起的,从而实现因果关系的确定。
不能使用随机分流实验进行数据挖掘的情况:
- 当存在明显的伦理问题或对参与者有潜在危害时。
- 当实验条件无法控制或模拟现实世界情况时。
- 数据依赖关系强,无法随机分配。
抽5个球中有3个以上是白球的概率,可以使用组合概率公式计算。
甲运动员罚球10次中,有3次以上进球的概率,可以使用二项分布概率公式计算。
Python的数据结构:列表(List)、元组(Tuple)、字典(Dictionary)、集合(Set)等。
什么是置信区间:置信区间是一个区间估计,用于表示对某个参数估计的不确定性。它给出了一个范围,我们认为这个范围内以某个置信水平(如95%)包含了参数的真实值。
高级函数where
的执行顺序:通常先执行条件判断,然后根据条件返回结果,具体执行快慢依赖于实现和数据规模。
多重共线性:是指模型中两个或多个变量高度相关,导致模型估计不稳定。解决方法包括移除一些高相关性变量、使用主成分回归、或者应用正则化方法如Lasso回归。
高斯分布与正态分布的差异:高斯分布就是正态分布,二者是同一个概念的不同称呼。
Bagging与Boosting的区别:
- Bagging:并行集成方法,通过构建多个独立的预测器然后对它们的预测结果进行平均或多数投票来减少方差。
- Boosting:顺序集成方法,逐步添加预测器,每一个都纠正前一个的错误,主要是通过给前一个模型预测错误的样本更高的权重来实现,以减少模型偏差。
评价分类模型的优劣:
- 使用混淆矩阵及其衍生的指标,如准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1分数。
- ROC曲线(接收者操作特征曲线)及AUC值(曲线下面积)也是评估分类器性能的常用工具,特别是在处理不平衡数据集时。
偏置、方差和泛化误差:
- 偏置:描述了算法的预测值与真实值之间的差异,高偏置可能导致欠拟合,即模型不能很好地捕捉到数据中的关系。
- 方差:描述了算法对给定点预测的波动性,高方差可能导致过拟合,即模型过度捕捉训练数据中的随机噪声。
- 泛化误差:是模型在新、未见过的数据上的预测误差,是偏置和方差的总和。理想的学习算法旨在同时最小化偏置和方差,从而达到较低的泛化误差。
- 在实践中,通常需要在偏置和方差之间找到一个平衡点,这被称为偏置-方差权衡。
K-means聚类与层次聚类的差异:
- K-means聚类是一种划分方法,需要预先指定簇的数量k,然后算法通过迭代优化来最小化每个簇内的样本与簇中心的距离。
- 层次聚类不需要预先指定簇的数量,它通过创建一个簇的层次结构,可以是自底向上(凝聚的)或自顶向下(分裂的),直到满足某种终止条件。
如何确定PCA保留几个主成分: 通常基于累计解释的方差比例来决定。一个常用的标准是保留的主成分应该解释总方差的大部分(例如,90%或95%)。
LDA与PCA的差异:
- LDA(线性判别分析)是一种监督学习算法,旨在识别不同类别之间的边界。
- PCA(主成分分析)是一种无监督学习算法,旨在数据降维和提取数据中的主要特征分量,不考虑数据的标签。
Python中,for循环和while循环的区别:
- for循环通常用于遍历序列(如列表或元组)或其他可迭代对象。
- while循环会持续执行代码块,直到条件不再为真。
Pandas实现SQL中的left join: 使用pandas.merge(df1, df2, on='key', how='left')
,其中df1
和df2
是要合并的DataFrame,on
是连接键。
互斥实验与正交实验的区别:
- 互斥实验指的是同一时间内,同一批用户只能参与一个实验。
- 正交实验设计则允许在设计阶段考虑多个因素和水平,可以有效地评估多个因素对结果的影响,减少实验次数。
AB实验的基本假设:
- 实验组和对照组在实验开始之前是等价的。
- 实验中除了被测试的变量外,其他条件保持不变。
确定实验最小样本量: 依赖于预期效果大小、统计功效(通常设为80%)、显著性水平(通常设为5%)和结果变异性。可以使用样本量计算公式或在线计算器。
检测分流均匀性的方法及AA实验:
- 通过统计测试(如卡方检验)来检测分流系统是否能均匀分配用户。
- AA实验:将用户随机分为两个相同的组,不对组进行任何干预,目的是验证分流系统的有效性和实验结果的随机性基线。
伯努利分布B(0.5)的数学期望和方差:
数学期望(均值)= p = 0.5。
方差 = p(1-p) = 0.5 * 0.5 = 0.25。
什么是置信度α: 置信度(1-α)表示在一系列相同的实验中,我们所得到的置信区间中包含总体参数真实值的比例。α通常被称为显著性水平,表示置信区间不包含总体参数真实值的风险。
中心极限定理和置信区间的关系:
- 中心极限定理指出,给定一个足够大的样本大小,样本均值的分布将趋近于正态分布,不论原始总体分布是什么。
- 置信区间利用中心极限定理的性质,基于样本均值和标准误差来估计总体均值的一个区间。中心极限定理为构建置信区间提供了理论基础。
t检验与z检验的差异:
- z检验通常用于样本量大(n>30)且总体标准差已知的情况,基于正态分布。
- t检验适用于样本量较小(n≤30)或总体标准差未知的情况,基于t分布。
单因素方差分析(ANOVA): 用于比较三个或更多组的平均数是否存在显著差异,基于的假设是各组内部差异主要由随机误差引起。
常用的有监督学习算法:
- 线性回归
- 逻辑回归
- 决策树
- 随机森林
- 支持向量机(SVM)
- K最近邻(KNN)
- 神经网络
SQL中,HAVING和WHERE的区别:
- WHERE子句用于过滤行,它在数据分组前应用。
- HAVING子句用于过滤分组,它在数据分组后应用,主要用于聚合函数的条件过滤。
什么是内生变量问题?如何解决?
内生性问题是统计建模和计量经济学中的一个重要概念,特别是在因果推断分析中。内生性问题发生在一个模型的解释变量(自变量)与模型的误差项相关,这违反了线性回归模型假设中自变量应该是外生的(即独立于模型误差项)的假设。内生性问题导致估计的参数偏误,从而使得模型的预测和因果推断不准确。
内生性可能由多种原因引起,包括:
- 遗漏变量:模型中遗漏了一个或多个重要的解释变量,这些遗漏的变量与包含在模型中的解释变量相关。
- 双向因果关系(反向因果关系):模型的因变量同时也影响一个或多个自变量。
- 测量误差:解释变量中的测量误差。
如何解决内生性问题:
工具变量(IV)方法:
- 工具变量法是解决内生性问题的一种常用方法。所选的工具变量需要与模型中的内生解释变量相关(相关性条件),同时与误差项不相关(外生性条件)。工具变量可以帮助识别出内生变量的真实效应。
- 适用于工具变量法的经典方法是两阶段最小二乘法(2SLS)。
增加控制变量:
- 如果内生性问题由遗漏变量引起,尝试在模型中加入这些遗漏的变量可能有助于减轻问题。
差分或固定效应模型:
- 对于面板数据(即在时间序列上对相同对象进行的多次观察),使用固定效应模型或差分方法可以消除不随时间变化的遗漏变量所导致的内生性问题。
结构方程模型(SEM):
- 在复杂的关系中,使用结构方程模型可以同时估计多个方程,这有助于解决因变量和自变量之间存在的双向关系问题。
随机对照试验(RCT):
如果可能的话,进行随机对照试验是解决内生性问题的最直接方法,因为随机分配实验条件可以确保自变量与误差项之间的独立性。
内生性问题的解决方法取决于问题的来源和可用数据的类型。在实际应用中,明确内生性的原因并选择合适的方法来解决是至关重要的。