1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| class FactorAnalysis: """ 室内实验:5个因素对眼动精度的影响 """ @staticmethod def simulate_factor_effects(): """模拟各因素对误差的影响""" factors = { "距离": { "levels": ["1m", "2m", "3m", "5m", "10m"], "bias_effect": [0.5, 1.0, 1.8, 3.2, 4.5], "precision_effect": [0.3, 0.5, 0.8, 1.5, 2.0], "finding": "距离越远误差越大,符合光学预期" }, "光照": { "levels": ["室内明亮", "室内昏暗", "室外白天", "室外夜间"], "bias_effect": [1.0, 1.5, 2.5, 4.0], "precision_effect": [0.4, 0.8, 1.0, 2.0], "finding": "夜间误差最大,影响红外眼动追踪" }, "头部运动": { "levels": ["静止", "轻微", "中等", "剧烈"], "bias_effect": [0.5, 1.0, 2.5, 5.0], "precision_effect": [0.3, 0.6, 1.5, 3.0], "finding": "头部运动是最影响精度的因素" }, "目标运动": { "levels": ["静止", "慢速", "快速"], "bias_effect": [1.0, 1.5, 2.5], "precision_effect": [0.5, 0.8, 1.5], "finding": "运动目标增加延迟相关误差" }, "注视偏心度": { "levels": ["0°", "10°", "20°", "30°"], "bias_effect": [0.5, 1.0, 2.0, 3.5], "precision_effect": [0.3, 0.5, 1.0, 1.8], "finding": "偏心度越大误差越大" }, } return factors
factors = FactorAnalysis.simulate_factor_effects() print("\n五因素影响分析") print("=" * 60) for name, data in factors.items(): print(f"\n📊 {name}") print(f" 级别: {data['levels']}") print(f" 偏差影响: {data['bias_effect']}") print(f" 精度影响: {data['precision_effect']}") print(f" 发现: {data['finding']}")
|