Spline-fitting Andy’s Audiogram

with hearing aids, using BlueTooth:

power={0.004410944000000001,0.0016430319999999998,0.0024061040000000005,0.0031121359999999993,0.004251528,0.003944312,0.008242408000000001,0.0025154560000000005,0.0016430319999999998,0.0028632879999999994,0.004096000000000001,0.008000000000000002,0.0058319999999999995,0.003796416,0.026463591999999998,0.011852352000000002,0.012167,0.025412183999999997,0.046655999999999996,0.054872000000000004,0.06400000000000002};
hz={125.0,250.0,500.0,1000.0,1062.5,1562.5,2000.0,2500.0,2562.5,3000.0,3250.0,3500.0,3750.0,4000.0,5000.0,5500.0,6000.0,6500.0,7000.0,7500.0,8000.0};

data1 = hz;
data2=power;
data=Transpose[{hz,power}];

ListPlot[data,Joined->True]

CubicMonotonicInterpolation: 
“The implementation of Stineman interpolation used here is a little different, in that it uses Stineman’s derivative estimates, but passes these to a piecewise cubic Hermite interpolant instead of Stineman’s original rational interpolant.”

fSte=ResourceFunction["CubicMonotonicInterpolation"][data,Method->"Steffen"];
fFC=ResourceFunction["CubicMonotonicInterpolation"][data,Method->"FritschCarlson"];
fSti=ResourceFunction["CubicMonotonicInterpolation"][data,Method->"Stineman"];

GraphicsGrid[{{
Plot[fSte[x],{x,Min[hz],Max[hz]},PlotLabel->"Steffen"],
Plot[fFC[x],{x,Min[hz],Max[hz]},PlotLabel->"Fritsch-Carlson"],
Plot[fSti[x],{x,Min[hz],Max[hz]},PlotLabel->"Stineman"]}}]

Plot[{fSte[x],fFC[x],fSti[x]},{x,Min[hz],Max[hz]},
PlotStyle->{Blue,{Dashed,Black},Red},
PlotLegends->{"Steffen","Fritsch-Carlson","Stineman"}]