What is the difference between these standard deviations?
 
data = Table[
        x -> 3 x + 5 + RandomVariate[NormalDistribution[0, 3]], {x, 
        RandomReal[{0, 100}, 1000]}];
p = Predict[data, 
Method -> {"LinearRegression", "L2Regularization" -> 0}]
s1 = Information[p, "StandardDeviation"]
s2 = {Information[p, "DistributionFunction"],  StandardDeviation[p[1.5, "Distribution"]]}
d = {p[Keys[data]], Values[data]}; 
s3 = ((MapThread[(#1 - #2)^2 &, d] // Total)/ ((d // First // Length) - 2)) // Sqrt
I do not understand why s2 is distinct of s3, and what is s1? Please could someone explain it.