Distributing discrete values over a smooth curve

E

ErwinAlonzo

Hello everyone,

Let me set up the problem really quick:

I have data for train passengers in half hour blocks as shown:

11:00 AM - 11:30 AM = 100
11:30 AM - 12:00 PM = 400
12:00 PM - 12:30 PM = 1200
12:30 PM - 1:00 PM = 3200
1:00 PM - 1:30 PM = 2000
1:30 PM - 2:00 PM = 1600
2:00 PM - 2:30 PM = 700
2:30 PM - 3:00 PM = 400
3:00 PM - 3:30 PM = 200
3:30 PM - 4:00 PM = 100

For example, there are 2,000 people taking the train between 1:00 PM
and 1:30 PM.

What I really need is one-minute intervals of data points. Therefore,
I somehow need to obtain a smooth curve while holding the above data
to be true (total passengers for each half-hour block is still the
same as the given data).

Does anyone know what function or method I can use to obtain such a
curve from this data? Perhaps some averaging technique? In the end, I
need values for each minute for the entire period. If anyone can
provide me any help or hints on going about doing this, I would very
much appreciate it. Thanks all.
 
H

Harlan Grove

(e-mail address removed) wrote....
....
I have data for train passengers in half hour blocks as shown:

11:00 AM - 11:30 AM = 100
11:30 AM - 12:00 PM = 400
12:00 PM - 12:30 PM = 1200
12:30 PM - 1:00 PM = 3200
1:00 PM - 1:30 PM = 2000
1:30 PM - 2:00 PM = 1600
2:00 PM - 2:30 PM = 700
2:30 PM - 3:00 PM = 400
3:00 PM - 3:30 PM = 200
3:30 PM - 4:00 PM = 100

For example, there are 2,000 people taking the train between 1:00
PM and 1:30 PM.

What I really need is one-minute intervals of data points.
Therefore, I somehow need to obtain a smooth curve while holding
the above data to be true (total passengers for each half-hour
block is still the same as the given data).

I don't believe you've provided enough information. First, if someone
gets on the train at 12:55 PM and gets off the train at 1:40 PM, would
they count as one passenger in the 12:30 PM - 1:00 PM, 1:00 PM - 1:30
PM and 1:30 PM - 2:00 PM blocks? If so, then that one person would be
counted as a passenger in every one of the 45 minutes they're on the
train. That means you can't sum passengers in each minute between 1:00
PM and 1:30 PM to get the number of passengers in that 30 minute
block. The only thing you can say is that the total over each of the
30 1-minute blocks must be greater than or equal to the number of
passengers in the whole 30-minute block.

If you absolutely have to have a smooth function, graph your table as
an X-Y scatter plot and experiment with the various trend lines.
 
E

ErwinAlonzo

(e-mail address removed) wrote....

...









I don't believe you've provided enough information. First, if someone
gets on the train at 12:55 PM and gets off the train at 1:40 PM, would
they count as one passenger in the 12:30 PM - 1:00 PM, 1:00 PM - 1:30
PM and 1:30 PM - 2:00 PM blocks? If so, then that one person would be
counted as a passenger in every one of the 45 minutes they're on the
train. That means you can't sum passengers in each minute between 1:00
PM and 1:30 PM to get the number of passengers in that 30 minute
block. The only thing you can say is that the total over each of the
30 1-minute blocks must be greater than or equal to the number of
passengers in the whole 30-minute block.

If you absolutely have to have a smooth function, graph your table as
an X-Y scatter plot and experiment with the various trend lines.- Hide quoted text -

- Show quoted text -

Excellent point! And thanks for taking your time to look over this
question. Let's further simplify the problem then. The values in the
data table above represent the number of passengers getting on the
train (say it's a count at the train station turnstiles). The actual
time they spend on the train is irrelevant. So now I need to somehow
interpolate minute-by-minute data of people passing the turnstiles
from the above data. I'm not sure if this is possible, but I thought
it was worth a shot to ask here. Thanks again all.
 
H

Harlan Grove

(e-mail address removed) wrote...
....
. . . Let's further simplify the problem then. The values in the
data table above represent the number of passengers getting on the
train (say it's a count at the train station turnstiles). The actual
time they spend on the train is irrelevant. So now I need to somehow
interpolate minute-by-minute data of people passing the turnstiles
from the above data. I'm not sure if this is possible, but I thought
it was worth a shot to ask here. Thanks again all.

OK, turnstile entries is more reasonable, but unless there's a train
available to board every minute, there's no reason to believe there
wouldn't be peaks and troughs between 30-minute intervals. That is, if
there's a train in the station every 10 minutes, e.g., at 11:06,
11:16, and 11:26, it'd be likely turnstile entries would peak around
11:04, 11:14 and 11:24, then drop off in the intervals 11:06-11:10,
11:16-11:20 and 11:26-11:30 then ramp up again in the intervals
11:11-11:14, 11:21-11:24, 11:31-11:34.

That is, turnstile entries are likely to peak just before and fall off
just after scheduled or expected (i.e., scheduled + typical expected
delay) train DEPARTURE times. So would you now further simplify by
assuming there's a train departing each & every minute?

If so, interpolate 1-minute intervals between the 30-minute intervals
using a cubic spline to get a first approximation, which would have
fractional persons. Then multiply the first approximation figures by
the ratio of the actual 30-minute interval totals to the sum of the 1-
minute interval first approximation results to get balanced second
approximation, still with fractional persons.

If fractional persons are acceptable as results, you're done. If not,
round down fractional persons for some intervals to round up to
additional whole persons at other intervals in such a way as to
maintain the 30-minute interval total number of persons as final
approximation.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top