我有学生的学业数据,想调查某些科目组合是否会增加失败的可能性。
让我们制作一个示例数据集(来自真实大学数据的数据无法共享):
idx student subject fail_or_not
1 A 1 1
2 A 2 0
3 A 3 1
4 B 1 0
5 B 2 1
6 C 1 0
(例如学生A同时选修了科目1和2,但科目1和3失败了...)
如果我要计算组合主题 1 和 2 的失败概率。
所以我想我可以简单地对学生取得的科目1和2(来自学生A和B)的所有记录取
fail_or_not
的平均值(来自idx 1,2,4,5),答案是0.5。
但是学生A也选了科目3,我想我可能错过了科目3的互动,我认为学生A的所有数据不应该单独考虑。如果我也将 idx 3 也纳入计算中,也许会更好?那么答案是0.6,这意味着学生的所有成绩都将被计算。是不是更合理?
然后我和chatgpt交谈,聊天给了我更多的见解,我可以使用条件概率或构建模型来解决。这是一个非常复杂的概率问题..任何人都可以给我一个明确的方向吗?我很困惑如何评估哪种方法更有意义。
虽然我不擅长统计,但还是让我回答一下吧。 希望您能从我的回答中找到一些见解。
你这里的要求是“调查某些科目组合是否会增加失败的概率。”
我认为,如果数据集是固定的,那么每个科目组合失败的概率也是固定的。例如,在上面的数据集中:
idx student subject fail_or_not
1 A 1 1
2 A 2 0
3 A 3 1
4 B 1 0
5 B 2 1
6 C 1 0
combination failure rate # of cases
∅ N/A 0
{1} 0.5 2
{2} 0.5 2
{3} 1.0 1
{1,2} 0.5 2
{1,3} 1.0 1
{2,3} 0.5 1
{1,2,3} 0.667 1
组合∅:没有没有选过任何科目的学生,所以跳过组合∅。
组合{1}:有2名学生(A,B)选修科目1。学生A未及格,而学生B未及格,所以不及格率 = 1/2 = 0.5。
...
组合{1,2}:有2名学生(A,B)同时选修科目1和2。在这种情况下,两个学生都未通过 1 门科目并通过 1 门科目,因此不及格率 = 2/4 = 0.5。
这样你就可以发现某些科目组合是否会增加失败的概率。 我认为到目前为止问题并不是很难。
但是,假设您计划参加科目 {1,2},并且您想知道参加额外的科目 3 或不参加科目 1 是否会增加/减少您失败的可能性。
这样的话,我觉得问题就变得很诡异了,因为要考虑的事情就多了。
例如,如果你是一名新生,由于缺乏你所在领域的背景知识,科目3对你来说太难了,你失败的概率可能会增加。然而,如果你是大四学生,而且这个科目对你来说很容易,你失败的概率可能会降低。
而且你必须考虑到:学生选修的科目越少,个别科目不及格对整体不及格率的影响就越大。
并且应该考虑案例的缺乏,例如:
combination failure rate # of cases
{1,2} 0.48 2736
{1,2,3} 0.46 12
加修科目3会降低失败率,但你不能说加修科目3就一定更好,因为没有足够的历史案例。
综上所述,还有很多额外的因素需要考虑,所以我认为数据集(student、subject、fail_or_not)不足以解决后一个问题。如果是这样,我认为您必须为数据集添加更多列并运行机器学习模型。