필터 지우기
필터 지우기

Poisson Point Process with fixed N

조회 수: 35 (최근 30일)
Tobias Johansson
Tobias Johansson 2016년 12월 6일
답변: Sudheesh PG 2020년 6월 19일
I came across this in a network model:
Distribute N points according to a homogeneous Poisson point process in a two-dimensional space of unit area.
No more info was given. Could somebody enlighten me on what this means? Usually I think of this as:
1) Generate the random variable N = n distributed as Poisson for a given lambda and area.
2) Generate n uniform points in that area.
But in the statement in bold text above N is fixed from the beginning. What would be a procedure for that (in Matlab)?

답변 (4개)

H. Paul Keeler
H. Paul Keeler 2018년 9월 29일
편집: H. Paul Keeler 2019년 8월 26일
The original question:
Distribute N points according to a homogeneous Poisson point process in a two-dimensional space of unit area.
That doesn't make sense if N is a fixed number. For the definition of the Poisson point process, the N has to be a Poisson random variable with its mean related to the area/size of the simulation region. This is non-negotiable. But if you fix N=n to some natural number (that is, in probability language, you condition on N=n), you then get a binomial point process.
As Nguyen Anh suggested above (and I wrote in another response), you treat this problem in polar coordinates.
For each point, you uniformly choose a random angular coordinate (or component) on the interval . For the radial coordinate (or component), you first choose a random number on the unit interval , and then you --- and this is very important -- square root that random number and multiply it by the radius of the disk. You have to take the square root to assure uniform points (because the area of a disk/sector is proportional to the radius squared, not the radius).
I recently blogged about simulating these two point processes. The binomial point process on a rectangle is here. The Poisson point process on a rectangle and on a disk.
The code for a binomial process on a disk would be.
%Simulation window parameters
r=1; %radius of disk
xx0=0; yy0=0; %centre of disk
%Simulate binomial point process
pointsNumber=100;
theta=2*pi*(rand(pointsNumber,1)); %angular coordinates
rho=r*sqrt(rand(pointsNumber,1)); %radial coordinates
%Convert from polar to Cartesian coordinates
[xx,yy]=pol2cart(theta,rho); %x/y coordinates of Poisson points
%Shift centre of disk to (xx0,yy0)
xx=xx+xx0;
yy=yy+yy0;
%Plotting
scatter(xx,yy);
xlabel('x');ylabel('y');
axis square;
  댓글 수: 6
Mamta Narang
Mamta Narang 2019년 9월 11일
Thanks this was helpful!
dada
dada 2019년 10월 5일
thank you very much!

댓글을 달려면 로그인하십시오.


Nguyen Anh
Nguyen Anh 2017년 12월 14일
1) The random variable N = poissrnd(lambda*Area), i.e. Area = pi*diskRadius^2 if it is a circle area.
2) Generate n uniform points with distances: distance_Rand = diskRadius*sqrt(rand(N,1))
  댓글 수: 1
Nguyen  Duc Anh
Nguyen Duc Anh 2018년 4월 25일
Hi Nguyen Anh, What is about homogenerous poisson point processing? Can I creat, measure distances?

댓글을 달려면 로그인하십시오.


Mamta Narang
Mamta Narang 2019년 9월 11일
Hi Could you please help me in homogeneous Poisson point process ..? Where number of users are fixed and equally distributed in all the region

Sudheesh PG
Sudheesh PG 2020년 6월 19일
Thanks for providing matlab code. Is it possible to generate another set of points from already given set with some "correlation" or difference in location? For example, Lets say correlation factor=1, points are same, factor=0.9, points are slightly shifted

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by