似乎有很多信息和工具可用于实现标准的多变量或单变量内核密度估计。但是,我目前正在使用的离散地理数据特别稀疏,并且倾向于聚集在人口密度高的地区。
也就是说,我在地图上有许多点(经度和纬度),并且我想根据这些点估计概率密度,但是我需要以某种方式对人口密度进行归一化。从环顾四周来看,似乎这类问题的适当方法将是为内核估计实现某种最邻近的自适应带宽。但是,似乎stats.gaussian_kde不支持自适应带宽。有谁知道我自己可能如何实现这一目标,或者是否有适用于自适应带宽KDE的软件包?
我正在学习OCaml,这是我的第一种打字语言,所以尽量耐心等待我:
为了练习,我试图定义一个"分开"的功能?它输入两个整数并输出一个布尔值,描述'int a'是否均匀地划分为'int b'.在我的第一次尝试中,我写了这样的东西:
let divides? a b =
if a mod b = 0 then true
else false;;
Run Code Online (Sandbox Code Playgroud)
给出了类型错误:
if a mod b = 0 then true
^
Error: This expression has type 'a option
but an expression was expected of type int
Run Code Online (Sandbox Code Playgroud)
那么我试着扭转它,我这样做了:
let divides? a b =
match a mod b with
0 -> true
|x -> false;;
Run Code Online (Sandbox Code Playgroud)
这没有多大帮助:
Characters 26-27
match a mod b with
^
Error: This expression has type 'a option
but an expression …
我是第一次学习OCaml,而且我遇到了一个非常模糊的"语法错误".在定义函数时generateboxes如此:
let rec generateboxes a b =
if a = (add1 b) then (force_newline ()); (print_sting "Done!")
else if [1] = (Array.get finalarray a) then (populatebox
(numbertoposition a) a); (generateboxes (add1 a) b)
else (generateboxes (add1 a) b);;
Run Code Online (Sandbox Code Playgroud)
编译器给出错误消息:"语法错误",它指向第一个else.我的代码输出这样的消息有什么明显的错误吗?(我意识到代码是脱离上下文的,但如果它的语法错误那么它应该无关紧要).