如何使用 python 中的标准差计算概率
How to work out the probability using standard deviation in python
我有一份学生名单。到目前为止,我有他们去年的出勤率和今年的当前出勤率。我正在尝试计算出他们在年底前低于 90% 的概率。以下是我的数据:
Name %LastYear AttendedSoFarThisYear SessionsSoFarThisYear %SoFarThisYear SessionsNeeded SessionsLeft
Ethan 97% 218 232 94% 52 68
Molly 91% 202 232 87% 101 68
Henry 95% 226 232 97% 44 68
所以目前我正在通过 SessionsNeeded 除以 SessionsLeft,然后乘以 100 来计算。因此对于 Ethan 来说,有 76% 的可能性,Molly 有 148% 的可能性,Henry 有 65% 的可能性低于 90 %.
不过我认为这种计算概率的方法不是很公平,因为在年初,每个人都没有完成任何会话,因此概率非常高。但我真的希望它能考虑到他们前一年的出勤率,这样在年初,Molly 的概率会比 Ethan 高。
还需要考虑他们目前的出勤率。由于 Henry 实际上有 97% 的时间都在出席,他很可能会继续这样做。而 Molly 略低于 87%,她不太可能赶上。
有人知道我可以使用这些数据解决这个问题吗?最好是 python,甚至是 excel?
您可以根据当年的完成情况来权衡上一年和当年出勤率的重要性。
completion = SessionsSoFarThisYear/TotalSessionsInThisYear
学生的出勤概率等于:
P_attendence(student) = LastYearAttendence(student) * (1 - completion) + ThisYearAttendence(student) * completion
编辑:
下一步是根据学生的出勤率修正 SessionsNeeded
和 SessionsLeft
之间的差异 P_attendance
:
delta_days(student) = (SessionsLeft * P_attendance(student)) - SessionsNeeded(student)
最后,要获得学生达到 90% 出勤率要求的概率,请使用具有 L = 1 and x0 = 0
:
的钳位逻辑函数
P_passing(student) = 0% if delta_days(student) <= 0, else log_f(delta_days(student))
对于所有否定 delta_days
它 returns 0% 的完成概率,这意味着根据当前对学生出勤率的估计,没有通过的机会。出勤率(估计)越高,跳过的天数越多,今年通过考试的可能性就越高。
编辑2:
90% 的阈值隐藏在 SessionsNeeded
中,用于计算 delta_days
.
我有一份学生名单。到目前为止,我有他们去年的出勤率和今年的当前出勤率。我正在尝试计算出他们在年底前低于 90% 的概率。以下是我的数据:
Name %LastYear AttendedSoFarThisYear SessionsSoFarThisYear %SoFarThisYear SessionsNeeded SessionsLeft
Ethan 97% 218 232 94% 52 68
Molly 91% 202 232 87% 101 68
Henry 95% 226 232 97% 44 68
所以目前我正在通过 SessionsNeeded 除以 SessionsLeft,然后乘以 100 来计算。因此对于 Ethan 来说,有 76% 的可能性,Molly 有 148% 的可能性,Henry 有 65% 的可能性低于 90 %.
不过我认为这种计算概率的方法不是很公平,因为在年初,每个人都没有完成任何会话,因此概率非常高。但我真的希望它能考虑到他们前一年的出勤率,这样在年初,Molly 的概率会比 Ethan 高。
还需要考虑他们目前的出勤率。由于 Henry 实际上有 97% 的时间都在出席,他很可能会继续这样做。而 Molly 略低于 87%,她不太可能赶上。
有人知道我可以使用这些数据解决这个问题吗?最好是 python,甚至是 excel?
您可以根据当年的完成情况来权衡上一年和当年出勤率的重要性。
completion = SessionsSoFarThisYear/TotalSessionsInThisYear
学生的出勤概率等于:
P_attendence(student) = LastYearAttendence(student) * (1 - completion) + ThisYearAttendence(student) * completion
编辑:
下一步是根据学生的出勤率修正 SessionsNeeded
和 SessionsLeft
之间的差异 P_attendance
:
delta_days(student) = (SessionsLeft * P_attendance(student)) - SessionsNeeded(student)
最后,要获得学生达到 90% 出勤率要求的概率,请使用具有 L = 1 and x0 = 0
:
P_passing(student) = 0% if delta_days(student) <= 0, else log_f(delta_days(student))
对于所有否定 delta_days
它 returns 0% 的完成概率,这意味着根据当前对学生出勤率的估计,没有通过的机会。出勤率(估计)越高,跳过的天数越多,今年通过考试的可能性就越高。
编辑2:
90% 的阈值隐藏在 SessionsNeeded
中,用于计算 delta_days
.