LogLogPlot
just takes the Log
of the data and provides some neat formatting of the axes:
GraphicsRow[{ListLogLogPlot[MuhData, Frame -> True],
ListPlot[Log[MuhData], Frame -> True]}, ImageSize -> 600]

So you can just fit a line to the Log
of the data:
lm = LinearModelFit[Log[MuhData], x, x];
Normal[lm]
-0.498215 + 3.49921 x
Show[Plot[Normal@lm, {x, -1.5, 1}, PlotStyle -> Red, Frame -> True], loglogstuff]

Or (like in BlacKow's answer):
f0 = Normal[lm] /. x -> Log[x] // Exp
0.607614 x^3.49921
Show[LogLogPlot[f0, {x, 0.2, 2}, PlotStyle -> Red, Frame -> True], loglogstuff]

EDIT:
To fit separately for small and large x
values I'd Take
, according to the comment of OP, the first two and last two points and do separate fits:
lm1 = LinearModelFit[Take[Log@MuhData, 2], x, x]
Normal[lm1]
-0.231552 + 3.93645 x
lm2 = LinearModelFit[Take[Log@MuhData, -2], x, x]
Normal[lm2]
-0.287282 + 3.8137 x
Show[Plot[Normal@lm1, {x, -1.5, 0}, PlotStyle -> Red, Frame -> True],
Plot[Normal@lm2, {x, 0, 1}, PlotStyle -> Blue,
Frame -> True], loglogstuff, PlotRange -> All]

Or
f1 = Normal[lm1] /. x -> Log[x] // Exp
f2 = Normal[lm2] /. x -> Log[x] // Exp
Show[LogLogPlot[f1, {x, 0.3, 1}, PlotStyle -> Red, Frame -> True],
LogLogPlot[f2, {x, 1, 2}, PlotStyle -> Blue,
Frame -> True], loglogstuff, PlotRange -> All]

A bit more general: if one defines "small x
" such that x<1
, and "large" as x>1
, then one can Select
the data for respective fits:
lm3 = LinearModelFit[Log@Select[MuhData, #[[1]] < 1 &], x, x]
Normal[lm3]
-0.267396 + 3.83288 x
lm4 = LinearModelFit[Log@Select[MuhData, #[[1]] > 1 &], x, x]
Normal[lm4]
-0.214781 + 2.72766 x
Show[Plot[Normal@lm3, {x, -1.5, 0}, PlotStyle -> Red, Frame -> True],
Plot[Normal@lm4, {x, 0, 1}, PlotStyle -> Blue,
Frame -> True], loglogstuff, PlotRange -> All]

Or
f3 = Normal[lm3] /. x -> Log[x] // Exp
f4 = Normal[lm4] /. x -> Log[x] // Exp
Show[LogLogPlot[f3, {x, 0.3, 1}, PlotStyle -> Red, Frame -> True],
LogLogPlot[f4, {x, 1, 2}, PlotStyle -> Blue,
Frame -> True], loglogstuff, PlotRange -> All]
