|
#1
|
|||
|
|||
Re: reliability (no poker content)
uuDevil,
I think your method underestimates the number of overlaps because it implies that failures start exactly on a three hour boundary. Here is a second method for estimating the number of overlaps. Suppose there are exactly 400 failures. We will say that the ith failure and the jth failure overlap if their start times differ by 6 hours or less. The probability that the ith failure overlaps the jth failure is approximately 6/(24*356) = 0.000684932. There are 400*399/2 = 79800 possible pairs of i's and j's, so the expected number of overlaps (with "overlap" defined as above) is 6/(24*356) * 400*399/2 = 54.6575. |
#2
|
|||
|
|||
Re: reliability (no poker content)
[ QUOTE ]
I think your method underestimates the number of overlaps because it implies that failures start exactly on a three hour boundary. Here is a second method for estimating the number of overlaps. Suppose there are exactly 400 failures. We will say that the ith failure and the jth failure overlap if their start times differ by 6 hours or less. [/ QUOTE ] I think you're onto something (I see the point about starting exactly on a three hour boundary), but I think your remedy is off-base. If the start times are more than three hours apart they don't overlap. For our purposes we can assume the variance on the repair length is zero, and that all failures always take exactly three hours to fix. |
#3
|
|||
|
|||
Oops - correction
pvn,
You are correct! There was a typo in my previous post. Below is the corrected version substituting 3 hours for 6. The expected number of overlaps did not change when I made the correction. We really should do a simulation. ---- corrected post ----- uuDevil, I think your method underestimates the number of overlaps because it implies that failures start exactly on a three hour boundary. Here is a second method for estimating the number of overlaps. Suppose there are exactly 400 failures. We will say that the ith failure and the jth failure overlap if their start times differ by 3 hours or less. The probability that the ith failure overlaps the jth failure is approximately 6/(24*356) = 0.000684932. There are 400*399/2 = 79800 possible pairs of i's and j's, so the expected number of overlaps (with "overlap" defined as above) is 6/(24*356) * 400*399/2 = 54.6575. |
#4
|
|||
|
|||
Re: Oops - correction
[ QUOTE ]
uuDevil, I think your method underestimates the number of overlaps because it implies that failures start exactly on a three hour boundary. Here is a second method for estimating the number of overlaps. Suppose there are exactly 400 failures. We will say that the ith failure and the jth failure overlap if their start times differ by 3 hours or less. The probability that the ith failure overlaps the jth failure is approximately 6/(24*356) = 0.000684932. There are 400*399/2 = 79800 possible pairs of i's and j's, so the expected number of overlaps (with "overlap" defined as above) is 6/(24*356) * 400*399/2 = 54.6575. [/ QUOTE ] I came up with a similar number in a different manner. As uuDevil pointed out, The expected number of failures in a three hour period is 400/(24*365/3)=.137 We expect to have 400 failure events (averaging three hours each) in a year. During each one of those, the probability that another machine will fail is 0.137. Now if we take 400*0.137 = 54.8. However, that means we'd actually have 454.8 failures, not 400 (we're counting duplicates twice. We just need to solve this for x: (x*0.137)+x=400 That gives us x=351.8. 351.8 single failure events. 351*0.137=48.2 48.2 overlapping events. 351.8+48.2=400. |
#5
|
|||
|
|||
Simulation Results
pvn,
I wrote a quick simulation for an additional comparison. I don't think my Mathematica code is really readable, but it beats writing a longer c++ program. Here is the code and the results: <font class="small">Code:</font><hr /><pre> (* deln computes the differences between elements of the vector v whose indices differ by n *) deln[v_List, n_Integer] := Drop[v, n] - Drop[v, -n]; vOverlaps = Table[ (* generate 400 start times in seconds past Jan 1 *) vStartTimes = Table[ Random[Integer, {0, 365*24*60*60}], {400}] // Sort; (* count the overlaps where the start times differ by less than 3600*3 seconds *) iOverlaps = Count[ Join @@ Table[ deln[vStartTimes, n], {n, 5}], x_ /; Abs[x] < 3600*3], {10000}]; (* print the average number of overlaps *) Print[ Plus @@ vOverlaps /10000. ]; </pre><hr /> I ran the code above twice and got the following results: first run - ave 54.6250 overlaps/year over 10000 years. second run - ave 54.6962 overlaps/year over 10000 years. I think I can use the reasoning in your previous post to generate a number near 54. As uuDevil pointed out, the expected number of failures in a three hour period is 400/(24*365/3)=0.136986. We expect to have 400 failure events (averaging three hours each) in a year. During each one of those, the expected number of other machines that will start fail is 399* 3/365/24 = 0.136644. (Except after 9 pm December 31st.) Now if we multiply 400*0.136644 = 54.6575 we get the expected number of failures. We have not counted any overlaps twice because for each failure start time we only counted overlaps with failures that began after the original start time. |
#6
|
|||
|
|||
Re: Simulation Results
[ QUOTE ]
Now if we multiply 400*0.136644 = 54.6575 we get the expected number of failures. We have not counted any overlaps twice because for each failure start time we only counted overlaps with failures that began after the original start time. [/ QUOTE ] Very nice. I agree with your line. Now, if I want to expand this to see about 3 simultaneous failures, it should be pretty simple, right? When two machines fail simultaneously, the average length of overlap should be 1.5 hours. So we have 54.6575 events where two failures overlap. The expected number of failures during that overlap period should be 398 * 1.5/365/24 = 0.06815 54.6575*0.06815= 3.725 triple failures. This seems about right. Extending from here should be obvious. |
#7
|
|||
|
|||
Re: Simulation Results
[ QUOTE ]
Now, if I want to expand this to see about 3 simultaneous failures, it should be pretty simple, right? When two machines fail simultaneously, the average length of overlap should be 1.5 hours. So we have 54.6575 events where two failures overlap. The expected number of failures during that overlap period should be 398 * 1.5/365/24 = 0.06815 54.6575*0.06815= 3.725 triple failures. This seems about right. Extending from here should be obvious. [/ QUOTE ] Your reasoning looks good to me. I ran some more simulations and got an average near 3.55 triple failures per year, but I am not confident that the code was perfectly correct. |
#8
|
|||
|
|||
Re: Simulation Results
[ QUOTE ]
(Except after 9 pm December 31st.) [/ QUOTE ] BTW, I don't think this matters. |
|
|