Zacznijmy od wykreślenia danych i przyjrzenia się im. Jest to bardzo ograniczona ilość danych, więc będzie to nieco ad hoc z mnóstwem założeń.
rotten <- c(0,1,1,0,0,0,1,1,1,1,0,0,0)
rotten <- as.factor(rotten)
mass <- c(139.08,
91.48,
74.23,
129.8,
169.22,
123.43,
104.93,
103.27,
169.01,
83.29,
157.57,
117.72,
128.63)
diam <- c(17.28,
6.57,
7.12,
16.52,
14.58,
6.99,
6.63,
6.75,
15.38,
7.45,
13.06,
6.61,
7.19)
plot(mass,diam,col=rotten,lwd=2)
title("Fruits")
Oto dane, czerwone kropki oznaczają zgniłe owoce:

Masz rację zakładając, że wydają się istnieć dwa rodzaje owoców. Moje założenia są następujące:
- Średnica dzieli owoce na dwie grupy
- Owoce o średnicy większej niż 10 są w jednej grupie, inne w mniejszej grupie.
- W dużej grupie owoców jest tylko jeden zgniły owoc. Załóżmy, że jeśli owoc jest w dużej grupie, to zgnilizna nie wpływa na wagę. Jest to niezbędne, ponieważ w tej grupie mamy tylko jeden punkt danych.
- Jeśli owoc jest małym owocem, zgnilizna wpływa na masę.
- Załóżmy, że zmienne diam i masa są zwykle rozłożone.
Ponieważ podano, że suma średnicy wynosi 64,2 cm, najprawdopodobniej dwa owoce są duże, a cztery są małe. Teraz są 3 przypadki na wagę. Zgniłe są 2, 3 lub 4 małe owoce (zgniłe duże owoce nie wpływają na masę z założenia ). Teraz możesz uzyskać granice swojej masy, obliczając te wartości.
Możemy empirycznie oszacować prawdopodobieństwo zgniłych małych owoców. Używamy prawdopodobieństw do ważenia naszych oszacowań masy, w zależności od liczby zgniłych owoców:
samps <- 100000
stored_vals <- matrix(0,samps,2)
for(i in 1:samps){
numF <- 0 # Number of small rotten
numR <- 0 # Total number of rotten
# Pick 4 small fruits
for(j in 1:4){
if(runif(1) < (5/8)){ # Empirical proportion of small rotten
numF <- numF + 1
numR <- numR + 1
}
}
# Pick 2 large fruits
for(j in 1:2){
if(runif(1) < 1/5){# Empirical proportion of large rotten
numR <- numR + 1
}
}
stored_vals[i,] <- c(numF,numR)
}
# Pick out samples that had 4 rotten
fourRotten <- stored_vals[stored_vals[,2] == 4,1]
hist(fourRotten)
table(fourRotten)
# Proportions
props <- table(fourRotten)/length(fourRotten)
massBig <- mean(mass[diam>10])
massSmRot <- mean(mass[diam<10 & rotten == 1])
massSmOk <- mean(mass[diam<10 & rotten == 0])
weights <- 2*massBig + c(2*massSmOk+2*massSmRot,1*massSmOk+3*massSmRot,4*massSmRot)
Est_Mass <- sum(props*weights)
Dając nam ostateczną ocenę 691,5183 g . Myślę, że musisz wyciągnąć większość założeń, które wyciągnąłem, aby dojść do wniosku, ale myślę, że byłoby to możliwe w mądrzejszy sposób. Próbuję również empirycznie, aby uzyskać prawdopodobieństwo liczby zgniłych małych owoców, to jest po prostu lenistwo i można to zrobić „analitycznie”.