BesagL
詳細とオプション
- BesagLは,完全に空間ランダムな参照過程との比較を簡単にするRipleyK関数の変換である.
- BesagL
は
と定義される,ただし,
はRipleyK,
は空間次元,
は
内の単位球の体積である. - BesagLは距離 r 内の点集合の空間的均一性を測定する.次は,ポアソン(Poisson)点過程との比較である.
-

ポアソン過程よりも分散している 
ポアソン過程に似ている.つまり,完全に空間ランダムである 
ポアソン過程よりもクラスタ化している - 半径 r は単一の値でも値のリストでもよい.半径 r が指定されていないと,BesagLは
関数を繰り返し評価するために使えるPointStatisticFunctionを返す. - 点 pdata の形状は以下でよい.
-
{p1,p2,…} 点 pi GeoPosition[…],GeoPositionXYZ[…],… グラフィックスの点 SpatialPointData[…] 空間点集合 {pts,reg} 点集合 pts と観測領域 reg - 観測領域 reg は,与えられていないとRipleyRassonRegionを使って自動的に計算される.
- 点過程 pproc は以下の形でよい.
-
proc 点過程 proc {proc,reg} 点過程 proc および観測領域 reg - 観測領域 reg はパラメータフリーでSpatialObservationRegionQでなければならない.
- ビン分割された bdata はSpatialBinnedPointDataからのもので,区分一定密度関数を持つInhomogeneousPoissonPointProcessとして扱われる.
- pdata については,
はお互いに距離 r 内にある他とは異なるペアを数えることで計算される. - pproc については,
は厳密な式を使って,あるいはシミュレーションで点データを生成することで計算される. - 次は,使用可能なオプションである.
-
Method Automatic 使用するメソッド SpatialBoundaryCorrection Automatic 使用する境界補正 - SpatialBoundaryCorrectionには以下の設定を使うことができる.
-
Automatic 自動決定された境界補正 None 境界補正なし "BorderMargin" 観測領域の内部余白 "Ripley" 境界からの点の距離に依存する重みを使う
例題
すべて開く すべて閉じる例 (3)
region = Ball[{0, 0}];
pts = RandomPoint[region, 100];BesagL[{pts, region}, 0.2]spd = SpatialPointData[RandomReal[1, {500, 3}]]rspec = Range[0.1, 0.4, 0.01];est = BesagL[spd, rspec];ListPlotで結果を可視化する:
ListPlot[est, DataRange -> MinMax[rspec], AxesLabel -> {r}, Filling -> Axis]lfun = BesagL[CauchyPointProcess[μ, λ, b, 2], r]Plot[lfun /. {μ -> 3, λ -> 2, b -> 1}, {r, 0, 3}, AxesLabel -> Automatic]スコープ (10)
点データ (5)
region = Rectangle[{0, 0}, {1, 2}];
pts = RandomPoint[region, 100];BesagL[{pts, region}, 0.2]Besagの
関数についての経験的推定を与えられた距離のリストから入手する:
BesagL[{pts, region}, {0.1, 0.3, 0.05, 0.23}]BesagLをSpatialPointDataと一緒に使う:
spd = SpatialPointData[RandomReal[1, {500, 2}]]res = BesagL[spd, {0.01, 0.02}]後で使うためにPointStatisticFunctionを作る:
reg = Disk[];
pts = RandomPoint[Disk[], 100];psf = BesagL[{pts, reg}]psf[0.5]BlockRandom[SeedRandom[1];
pts = RandomReal[1, {100, 2}]];psf = BesagL[pts]Ripley–Rasson推定器によって生成された観測領域:
psf["ObservationRegion"]psf[0.3]BesagLをGeoPositionと一緒に使う:
pts = RandomGeoPosition[GeoDisk[GeoPosition[{0, 0}], Quantity[10, "Kilometers"]], 10 ^ 2]psf = BesagL[pts]ListPlot[Table[{x, psf[x]}, {x, Quantity[0, "km"], psf["MaxRadius"], Quantity[.1, "km"]}], AxesLabel -> {"km"}]点過程 (5)
PoissonPointProcessについてのBesagの
関数は密度にも次元にも依存しない:
proc = PoissonPointProcess[μ, d];BesagL[proc, r]指定の次元のクラスタ過程ThomasPointProcessについてのBesagの
関数:
proc2D = ThomasPointProcess[μ, λ, σ, 2];BesagL[proc2D, r]proc3D = ThomasPointProcess[μ, λ, σ, 3];BesagL[proc3D, r]指定次元のクラスタ過程MaternPointProcessについてのBesagの
関数:
proc2D = MaternPointProcess[μ, λ, rad, 2];BesagL[proc2D, r]proc3D = MaternPointProcess[μ, λ, rad, 3];BesagL[proc3D, rad]クラスタ過程CauchyPointProcessについてのBesagの
関数:
proc = CauchyPointProcess[μ, λ, b, dim];BesagL[proc, r]クラスタ過程VarianceGammaPointProcessについてのBesagの
関数:
proc = VarianceGammaPointProcess[μ, λ, α, β, dim];BesagL[proc, r]オプション (2)
SpatialBoundaryCorrection (2)
境界補正がないBesagL推定器にはバイアスがあるので,大きい点集合以外とは使うべきではない:
region = Rectangle[{0, 0}, {2, 1}];
pts = RandomPoint[region, 100];r = 0.2;BesagL[{pts, region}, r, SpatialBoundaryCorrection -> "None"]デフォルトメソッドの"BorderMargin"は境界から距離
の点しか考慮しない:
inregion = Rectangle[{r, r}, {2 - r, 1 - r}];
Show[RegionPlot[{region, inregion}, AspectRatio -> Automatic], ListPlot[pts]]BesagL[{pts, region}, r, SpatialBoundaryCorrection -> "BorderMargin"]境界補正法"Ripley"は点の各ペアに重みを付けて推定器のバイアスを除く:
BesagL[{pts, region}, r, SpatialBoundaryCorrection -> "Ripley"]reg = Ball[{0, 0, 0}];
pts = RandomPoint[reg, 200];rad = Range[0.01, 0.5, 0.02];
m = {"None", "BorderMargin", "Ripley"};data = BesagL[{pts, reg}, rad, SpatialBoundaryCorrection -> #]& /@ m;val = BesagL[PoissonPointProcess[λ, 3], r]Show[ListPlot[data, DataRange -> MinMax[rad], PlotLegends -> m], Plot[val, {r, 0, 0.5}, PlotStyle -> Gray, PlotLegends -> {val}], AxesLabel -> {r}]アプリケーション (5)
Besagの
関数は距離において累積的であり,したがって単調増加である:
region = Ellipsoid[{0, 0}, {2, 3}];
pts = RandomPoint[region, 500];fun = BesagL[pts]Plot[fun[r], {r, 0, 1}, AxesLabel -> Automatic]region[d_] := Ball[d]
pts[d_] := RandomPoint[region[d], 1000]rspec = Range[0.02, 0.8, 0.02];
data = Table[BesagL[{pts[d], region[d]}, rspec], {d, 1, 5}];ListLinePlot[data, DataRange -> MinMax[rspec], AxesLabel -> {r}, PlotLegends -> (Row[{#, "D"}]& /@ Range[5])]region = Ellipsoid[{0, 0}, {1, 2}];
radii = {0.05, 0.1, 0.15};
spds = Table[RandomPointConfiguration[HardcorePointProcess[200, R, 2], region, Method -> {"MCMC", "LengthOfRun" -> 30000}], {R, radii}];Table[Graphics[Point[spds[[k]]["Points"]], PlotRange -> {{-1, 1}, {-2, 2}}, Frame -> True, FrameLabel -> Row[{"hard-core R = ", radii[[k]]}]], {k, 3}]rspec = Range[0.01, 0.3, 0.01];
data = Table[BesagL[spd, rspec], {spd, spds}];ListLinePlot[data, DataRange -> MinMax[rspec], AxesLabel -> {r}, PlotLegends -> (Row[{"hard-core R = ", #}]& /@ radii)]Map[rspec[[FirstPosition[#, _ ? Positive]]]&, data]//FlattenクラスタデータについてのBesagの
関数は完全に空間ランダムなデータよりも高い.クラスタ過程からサンプルを取る:
reg = Rectangle[{0, 0}, {4, 4}];
ptsT = RandomPointConfiguration[ThomasPointProcess[30, 20, .5, 2], reg];ptsP = RandomPointConfiguration[PoissonPointProcess[30, 2], reg];ListPlot /@ {ptsP, ptsT}rspec = Range[0.02, 2, 0.02];ListLinePlot[{BesagL[ptsP, rspec], BesagL[ptsT, rspec]}, PlotLegends -> {"Poisson", "Thomas"}, DataRange -> MinMax[rspec], AxesLabel -> {r}]Besagの
関数を使ってPairCorrelationGを推定する:
reg = Disk[];
pts = RandomPoint[reg, 10 ^ 3];rlist = Range[0.01, 0.2, 0.01];pc = PairCorrelationG[{pts, reg}, rlist];besagL = BesagL[pts]pcL = PairCorrelationG[{besagL, {0, 0.2, 0.01}}, rlist];ListLinePlot[{pc, pcL}, DataRange -> MinMax@rlist, PlotLegends -> {"PC from data", "PC estimated from K"}, AxesLabel -> {r}]特性と関係 (1)
考えられる問題 (1)
境界補正がある経験的BesagLは(特に小さい集合については)増加しない:
region = Rectangle[];
SeedRandom["spatial"];
data = RandomPoint[region, 30];Plot[BesagL[{data, region}][r], {r, 0, 1 / 2}]補正なしのBesagLは増加する:
Plot[BesagL[{data, region}, r, SpatialBoundaryCorrection -> None], {r, 0, 1 / 2}]テキスト
Wolfram Research (2020), BesagL, Wolfram言語関数, https://reference.wolfram.com/language/ref/BesagL.html.
CMS
Wolfram Language. 2020. "BesagL." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/BesagL.html.
APA
Wolfram Language. (2020). BesagL. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/BesagL.html
BibTeX
@misc{reference.wolfram_2026_besagl, author="Wolfram Research", title="{BesagL}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/BesagL.html}", note=[Accessed: 09-August-2026]}
BibLaTeX
@online{reference.wolfram_2026_besagl, organization={Wolfram Research}, title={BesagL}, year={2020}, url={https://reference.wolfram.com/language/ref/BesagL.html}, note=[Accessed: 09-August-2026]}