免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3270 | 回复: 8
打印 上一主题 下一主题

[算法] 请教一个问题,工作中遇到的,不知道应该属于算法还是数学建模 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-03-24 22:34 |只看该作者 |倒序浏览
请教一个问题,工作中遇到的
我想建立一个公式,对一个系统的健康状况进行打分。系统有大概200个测试点,每个测试点都有自己的风险指数,风险指数=badcase样本数/总样本数。


比如,第101个测试点中,测试的badcase有6个,总样本数为100,那么第101个测试点的风险指数为6/100=0.06。


每个测试点中,均有100个样本。大部分测试点,风险指数都很低,但不排除小部分测试点的风险指数可以达到0.9以上。


现在想建立一个算法,输入为系统所有的测试点,和各自的风险指数。输出为一个数值,代表系统的健康得分,具体要求:
1. 测试点的风险指数越高,系统的健康得分应该越低
2. 系统得分最好在0~100之前,可以精确到小数
3. 系统得分最好能和测试点的优化挂钩,比如:某次系统评分得了86.5分,如果我对某个测试点进行了优化,降低了其风险指数,那么系统得分会略有上升,比如可能到86.8分


求大家帮小弟想出这么一种算法,不要太复杂,但是要合理。提供一些思路也行


谢谢

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
2 [报告]
发表于 2014-03-25 11:22 |只看该作者
最糙的,风险指数全部加起来除以2,就是全局风险指数;然后用100减去全局风险指数就是健康度。完全满足你的3个要求。


但,实践上,可能不同风险指数的权值是不同的。比如如果一个测试点的风险指数是0.9,其它全是0;那么这个系统很可能会比有九个风险指数为0.1、其它全为0的更不可靠。
这种情况,可以让风险高点的风险指数远远超过1;但这样最终算出来的值会大于100.那么此时只要用对数之类算法调整一下,让它落到0~100范围即可。


另外,有些时候,风险指数0.1甚至0.8都没什么,但超过0.9就极为危险;但也有些情况,风险指数0.1就极为严重了;从0.1提高到0.9反倒没多大影响。
——如网络ping值,从1到100甚至200ms一般都没什么;但再高就严重影响网速;继续提升到1000呢,也就是慢了,没别的。
对这类情况,可利用指数/对数调整风险指数-风险曲线,使得风险指数-风险曲线接近直线。这样才能反映真实情况。


类似的,有些测试点可能比其他测试点更重要,那么它上面的风险对总值的影响就更大。这种可以用合理加权的方式解决。

论坛徽章:
0
3 [报告]
发表于 2014-03-25 12:44 |只看该作者
回复 2# shan_ghost



谢谢回答!
   
两个问题:

1. 最糙的,风险指数全部加起来除以2,就是全局风险指数;

这个是怎么推导出来的?

2.可利用指数/对数调整风险指数-风险曲线,使得风险指数-风险曲线接近直线。

这个可以说的具体一些么,为什么用指数/对数,可以举个例子么

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
4 [报告]
发表于 2014-03-25 14:10 |只看该作者
回复 3# kkmm0105


    没啥推导的。先把箭射出去再画靶子而已。

说白了,就是先按要求随便凑一个公式,然后画出这个公式的图像,看看有没有不合理的;如果不合理,就改变某些参数,以让公式的图像符合预期。


如果仅仅是要求正相关,那么最“糙”的方法已经满足要求了。但实际上一般是要求线性值,这就需要额外的一些修正。


这类问题其实没有什么现成公式/理论可以借用。自己搞明白想要什么样的效果,自己找出能达到这个效果的公式。



举例来说,随身听的音量控制旋钮见过吧。当初的设计目标就是想用可变电阻来改变输出音量;结果发现人的听感和能量之间其实是平方关系——所以用拨动距离和电阻量是线性关系的可变电位器(其实就是滑动电阻器),就导致要么拨很长距离,音量没什么变化;要么到了某个点,拨一点点声音就一下子吵的受不了。所以后来就用对数关系的电位器,听起来音量就是线性变化了。

换句话说,这里面的关键是搞明白变量取值对最终效果的影响:正比、反比、指数、对数……最后通过某种变换(如指数关系就取对数、对数关系就取指数),得到一个线性的输出值。

论坛徽章:
0
5 [报告]
发表于 2014-03-25 14:15 |只看该作者
回复 4# shan_ghost


    多谢!受益匪浅~

论坛徽章:
3
2015年迎新春徽章
日期:2015-03-04 09:56:11数据库技术版块每日发帖之星
日期:2016-08-03 06:20:00数据库技术版块每日发帖之星
日期:2016-08-04 06:20:00
6 [报告]
发表于 2014-03-26 09:02 |只看该作者
窃以为先建一个概率空间,往概率论的方向靠。

论坛徽章:
0
7 [报告]
发表于 2014-03-26 18:25 |只看该作者
回复 4# shan_ghost


    如果补充一个需求,比如加一个测试要点,如果风险指数高于平均水平,那么总分应该下降,否则总分上升,这样算法应该是什么样的呢

论坛徽章:
8
CU大牛徽章
日期:2013-04-17 10:59:39CU大牛徽章
日期:2013-04-17 11:01:45CU大牛徽章
日期:2013-04-17 11:02:15CU大牛徽章
日期:2013-04-17 11:02:36CU大牛徽章
日期:2013-04-17 11:02:58技术图书徽章
日期:2013-12-04 10:48:50酉鸡
日期:2014-01-03 10:32:30辰龙
日期:2014-03-06 15:04:07
8 [报告]
发表于 2014-03-26 18:52 |只看该作者
kkmm0105 发表于 2014-03-26 18:25
回复 4# shan_ghost


之前提过思路了。最简单的,以平均值为拐点,大于平均值,则3倍(3是随意给的一个数字)其风险值;否则使用原始风险值即可。

总之,这是一个凑风险值-健康度曲线的任务。合适的曲线弄出来了,很容易找到把健康度映射到0~1之间或0~100之间或100000~1000000000000000之间的办法。

论坛徽章:
0
9 [报告]
发表于 2014-04-28 15:59 |只看该作者
健康指数=危险指数的倒数, 行吗
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP