You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于概率分布生成[0,120]区间符合真实车辆特征的随机速度方法咨询

正偏态车辆速度随机数实现方案

核心实现逻辑

采用逆变换采样法实现,无需依赖第三方分布库,仅基于标准库的均匀随机数生成器即可完成,同时支持后续自定义PDF(概率分布曲线)的无缝替换。初始模型完全匹配你提出的约束条件:

  • 取值区间严格限定为[0, 120]
  • 均值为80,左半区间(080)累计概率66%,右半区间(80120)累计概率33%
  • 概率密度随数值与80的差值增大逐步降低,保证越靠近均值出现概率越高

代码实现(Python示例)

import random

def generate_vehicle_speed():
    # 调用标准库生成[0,1]区间均匀随机数
    u = random.random()
    # 左半区[0,80)对应随机数区间[0, 0.66]
    if u < 0.66:
        # 平方根变换拉高近均值区域的生成概率
        normalized = 1 - (1 - u / 0.66) ** 0.5
        return normalized * 80
    # 右半区[80,120]对应随机数区间[0.66, 1]
    else:
        normalized = 1 - (1 - (u - 0.66) / 0.34) ** 0.5
        return 80 + normalized * 40

# 验证生成效果示例
if __name__ == "__main__":
    sample_cnt = 1000
    samples = [generate_vehicle_speed() for _ in range(sample_cnt)]
    avg_speed = sum(samples) / sample_cnt
    left_ratio = sum(1 for s in samples if s < 80) / sample_cnt * 100
    right_ratio = 100 - left_ratio
    print(f"生成样本均值:{avg_speed:.2f}")
    print(f"左半区样本占比:{left_ratio:.1f}%")
    print(f"右半区样本占比:{right_ratio:.1f}%")

后续PDF迭代方案

如果后续需要替换为更贴合实测数据的PDF,仅需做少量调整即可:

  1. 提前将[0,120]区间按步长0.1离散化,计算每个速度点对应的PDF值
  2. 预计算对应区间的累计分布CDF数组,生成随机数时通过二分查找将[0,1]均匀随机数映射为对应的速度值即可,无需改动整体逻辑框架

内容的提问来源于stack exchange,提问作者umair mughal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:54:09