统计学面试题与解析2

面试高频题11:

题目:辛普森悖论,以及如何避免这种现象

答案解析:

⾟普森悖论指在某个条件下的两组数据,分别讨论时都会满⾜某种性质,可是⼀旦合并考虑却可能导致相反的结论。为了避免⾟普森悖论导致我们得出两个相反的结论,我们需要选择将数据分组或将 它们聚合在⼀起。其中我们要学会思考因果关系:数据如何⽣成,基于此,哪些因素会影响我们未展示的结果?

例如美国加州大学研究生录取数据的分析中,目的是探究伯利克里分校研究生录取是否存在性别歧视。即性别与录取率的关系。但是性别会导致兴趣的不同,而兴趣会决定专业的不同,不同专业的录取率也会不同。总体上,我们只看到了性别和录取率的关系,但是却忽略了专业这个内在原因。而拆分专业去观察,就是控制男女在专业上是相同的,这样更有利于判断因果关系。

面试高频题12:

题目:作为出行领域的小玩家,司机端的订单构成是什么样的? 头部优秀司机聚集大量订单,还是订单分布比较发散。

答案解析:

若为较成熟健康的体系中,应为后者;在初期时为前者。 在较健康的供给端体系中,司机端的订单构成应为倒三角或者菱形分布,即头部和腰部司机的订单较多,尾部的订单较少;而在初期时则是头部效应明显,订单集中在头部,后期随着司机和订单量的增多,不可能由头部司机撑起大部分订单的。

面试高频题13:

题目:贝叶斯定理是什么?

答案解析:

贝叶斯定理(Bayes' theorem)是概率论中的一个定理,描述在已知条件下,某事件的发生概率。通常,事件A在事件B已发生的条件下发生的概率,与事件B在事件A已发生的条件下发生的概率是不一样的。然而,这两者是有确定的关系的,贝叶斯定理就是这种关系的陈述。贝叶斯公式的一个用途,即透过已知的三个概率而推出第四个概率。贝叶斯定理跟随机变量的条件概率以及边际概率分布有关。

贝叶斯定理常用在信息检索、文本分类、疾病检测等场景。

应用举例(疾病检测):

假设一个常规的检测结果的灵敏度和特异度均为99%,即患病者每次检测呈阳性(+)的概率为99%,而未患病者每次检测呈阴性(-)的概率为99%。假设医院对全体就诊人员进行疾病检测,已知0.5%的就诊者患病,请问每位检测结果呈阳性的就诊者患病的概率有多高?

令“D”为就诊人员患病事件,“N”为就诊人员未患病事件,“+”为检测呈阳性事件,则某人检测呈阳性时确实患病的条件概率为:

面试高频题14:

题目:对朴素贝叶斯的理解?

答案解析:

朴素贝叶斯分类是贝叶斯分类中最简单,也是常见的一种分类方法。“朴素”是指假定给定目标值时属性之间相互条件独立。 优点:

朴素贝叶斯算法假设了数据集属性之间是相互独立的,因此算法的逻辑性十分简单,并且算法较为稳定,当数据呈现不同的特点时,朴素贝叶斯的分类性能不会有太大的差异。即朴素贝叶斯算法的稳定性比较好,对于不同类型的数据集不会呈现出太大的差异性。当数据集属性之间的关系相对比较独立时,朴素贝叶斯分类算法会有较好的效果。 缺点:

数据集属性的独立性在很多情况下是很难满足的,因为数据集的属性之间往往都存在着相互关联,如果在分类过程中出现这种问题,会导致分类的效果大大降低。

面试高频题15:

题目:两个人相约在8点到9点时间段见面,彼此等15分钟,见不到人就走。两人在8点至9点任一时刻到达目的地,求两人能见面的概率

答案解析:

7/16 几何概型。在平面坐标系下,0<x,y<1,|x-y|<15/60,满足条件的面积即为1-3/4 * 3/4=7/16

面试高频题16:

题目:抛硬币直到连续两次出现正面的概率,求扔的期望次数

答案解析:

6次 假设期望次数为X,有三种情况:1.第一次为反面,则期望需要X+1次;2.前两次都为反面,则期望需要X+2次;3.前两次均为正面,结束。建立方程;解得X=6。

面试高频题17:

题目:50个红球50个白球放入两个黑箱,怎么分配摸到红球概率最大

答案解析:

1个红球放在一个箱子,其余99个球放在另一个箱子里。 该情况下,P(拿到红球)=0.5+0.5(49/99)≈ 0.75(74/99)

面试高频题18:

题目:一个班20个人,至少两个人同一天生日的概率。

答案解析:

0.41 ● 20个人可能的生日组合是365×365×365×……×365(20)个; ● 20个人生日都不重复的组合是365×364×363×……×346(20)个; ● 20个人生日有重复的概率是1-b/a。 这里,20个人生日全不相同的概率是b/a=0

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2022年最新整理:数据分析师高频考点与解析,包含top11面试考点和177道高频面试题与解析

全部评论
P(A|B)不是在B的条件下A的概率吗,文章错了吧
点赞 回复 分享
发布于 2023-02-05 12:43 辽宁

相关推荐

第一次笔试,我非常垃圾,涉及Pandas和python1、数据去重:&nbsp;“按&nbsp;X&nbsp;去重,保留&nbsp;ID&nbsp;最大的”按照x排列df_sorted=df.sort_values(by='x')#&nbsp;按x分组,取id最大值result=df_sorted.groupby('x')['id'].max().reset_index()print(result)2、计算每个种类的违约率import&nbsp;pandas&nbsp;as&nbsp;pd#&nbsp;构造数据(根据手写内容,假设&nbsp;class&nbsp;和&nbsp;tar&nbsp;的对应关系如下)data&nbsp;=&nbsp;{&quot;class&quot;:&nbsp;[&quot;D&quot;,&nbsp;&quot;B&quot;,&nbsp;&quot;D&quot;,&nbsp;&quot;C&quot;,&nbsp;&quot;C&quot;,&nbsp;&quot;A&quot;,&nbsp;&quot;C&quot;,&nbsp;&quot;D&quot;,&nbsp;&quot;A&quot;,&nbsp;&quot;B&quot;,&nbsp;&quot;D&quot;,&nbsp;&quot;A&quot;,&nbsp;&quot;C&quot;,&nbsp;&quot;A&quot;,&nbsp;&quot;C&quot;],&quot;tar&quot;:&nbsp;[0,&nbsp;1,&nbsp;0,&nbsp;0,&nbsp;1,&nbsp;0,&nbsp;0,&nbsp;1,&nbsp;0,&nbsp;0,&nbsp;1,&nbsp;0,&nbsp;0,&nbsp;1,&nbsp;1]}df&nbsp;=&nbsp;pd.DataFrame(data)#&nbsp;按&nbsp;class&nbsp;分组,计算违约率(tar==1&nbsp;的比例)default_rates&nbsp;=&nbsp;df.groupby(&quot;class&quot;)[&quot;tar&quot;].mean()print(default_rates)3、求函数fx=e^x+x^2在何处取得最小值,精度要求:绝对误差小于1e-6,不能调用优化相关包import&nbsp;math#&nbsp;定义一阶导数&nbsp;f'(x)&nbsp;=&nbsp;e^x&nbsp;+&nbsp;2xdef&nbsp;f_prime(x):return&nbsp;math.exp(x)&nbsp;+&nbsp;2&nbsp;*&nbsp;x#&nbsp;定义二阶导数&nbsp;f''(x)&nbsp;=&nbsp;e^x&nbsp;+&nbsp;2def&nbsp;f_double_prime(x):return&nbsp;math.exp(x)&nbsp;+&nbsp;2#&nbsp;牛顿迭代法找极值点def&nbsp;newton_method(initial_x,&nbsp;epsilon=1e-6):x&nbsp;=&nbsp;initial_xwhile&nbsp;True:x_next&nbsp;=&nbsp;x&nbsp;-&nbsp;f_prime(x)&nbsp;/&nbsp;f_double_prime(x)#&nbsp;检查绝对误差是否小于精度要求if&nbsp;abs(x_next&nbsp;-&nbsp;x)&nbsp;&lt;&nbsp;epsilon:return&nbsp;x_nextx&nbsp;=&nbsp;x_next#&nbsp;初始值选择(通过观察函数趋势,选&nbsp;x=0&nbsp;附近作为初始值)initial_x&nbsp;=&nbsp;0min_x&nbsp;=&nbsp;newton_method(initial_x)min_value&nbsp;=&nbsp;math.exp(min_x)&nbsp;+&nbsp;min_x&nbsp;**&nbsp;2print(f&quot;函数&nbsp;f(x)&nbsp;=&nbsp;e^x&nbsp;+&nbsp;x^2&nbsp;在&nbsp;x&nbsp;=&nbsp;{min_x:.8f}&nbsp;处取得最小值&quot;)print(f&quot;最小值为:&nbsp;{min_value:.8f}&quot;)4、写个month_diff函数。计算两个'ym'格式的日期字符串的月份差from&nbsp;datetime&nbsp;import&nbsp;datetimedef&nbsp;month_diff(ym1,&nbsp;ym2):#&nbsp;解析日期为年和月y1,&nbsp;m1&nbsp;=&nbsp;int(ym1[:4]),&nbsp;int(ym1[4:])y2,&nbsp;m2&nbsp;=&nbsp;int(ym2[:4]),&nbsp;int(ym2[4:])#&nbsp;计算总月份差return&nbsp;(y1&nbsp;-&nbsp;y2)&nbsp;*&nbsp;12&nbsp;+&nbsp;(m1&nbsp;-&nbsp;m2)#&nbsp;验证示例print(month_diff('202001',&nbsp;'201804'))&nbsp;&nbsp;#&nbsp;输出:215、解析字符串:s='A1:1;b2:13;x5:651;D61:47'&nbsp;解析为字典格式s&nbsp;=&nbsp;'A1:1;b2:13;x5:651;D61:47'#&nbsp;先按分号&nbsp;;&nbsp;分割成多个键值对字符串items&nbsp;=&nbsp;s.split(';')result_dict&nbsp;=&nbsp;{}for&nbsp;item&nbsp;in&nbsp;items:#&nbsp;再按冒号&nbsp;:&nbsp;分割成键和值key,&nbsp;value&nbsp;=&nbsp;item.split(':')#&nbsp;将值转换为整数(根据需求,也可保留字符串)result_dict[key]&nbsp;=&nbsp;int(value)print(result_dict)
点赞 评论 收藏
分享
评论
1
30
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务