Lassen Sie sich von der Physik (des Experiments und des Messgeräts) leiten.
Letztendlich wird die Absorption durch Messen der durch das Medium hindurchtretenden Strahlungsmengen bestimmt, und diese Messungen laufen darauf hinaus, Photonen zu zählen. Wenn das Medium makroskopisch ist, sind thermodynamische Konzentrationsschwankungen vernachlässigbar, so dass die Hauptfehlerquelle in der Zählung liegt. Dieser Fehler (oder "Schussrauschen" ) hat eine Poisson-Verteilung . Dies impliziert, dass der Fehler bei hohen Konzentrationen relativ groß ist, wenn wenig Strahlung durchgelassen wird.
Bei ausreichender Sorgfalt im Labor werden die Konzentrationen normalerweise äußerst genau gemessen, sodass ich mir keine Sorgen über Konzentrationsfehler machen muss.
Die Absorption selbst steht in direktem Zusammenhang mit dem Logarithmus der gemessenen Strahlung . Durch die Verwendung des Logarithmus wird die Fehlermenge über den gesamten möglichen Konzentrationsbereich ausgeglichen. Allein aus diesem Grund ist es am besten, die Extinktion anhand ihrer üblichen Werte zu analysieren, anstatt sie erneut auszudrücken. Insbesondere sollten wir vermeiden, Absorptionsprotokolle zu erstellen, auch wenn dies den Ausdruck des Beer-Lambert-Gesetzes vereinfachen würde.
Wir sollten auch auf mögliche Nichtlinearitäten achten. Die Ableitung des Beer-Lambert - Gesetzes schlägt vor , die Absorption vs Konzentrationskurve bei hohen Konzentrationen nicht - lineare werden wird. Es ist eine Möglichkeit erforderlich, dies zu erkennen oder zu testen.
( C.ich, Aich)
κA / C.κ^= ∑ichEINichC.ich
EIN^( C.) = κ^C..
EINich- A.ich^C.ich
Natürlich ist dies alles theoretisch und etwas spekulativ - wir haben keine tatsächlichen Daten zu analysieren -, aber es ist ein vernünftiger Ausgangspunkt. Wenn wiederholte Laborerfahrungen darauf hindeuten, dass die Daten von den hier beschriebenen statistischen Verhaltensweisen abweichen, wären einige Modifikationen dieser Verfahren erforderlich.
Um diese Ideen zu veranschaulichen, habe ich eine Simulation erstellt, die die Schlüsselaspekte der Messung implementiert, einschließlich des Poisson-Rauschens und möglicherweise nichtlinearer Antworten. Wenn wir es viele Male ausführen, können wir die Art von Variation beobachten, die im Labor wahrscheinlich auftritt. Hier sind die Ergebnisse eines Simulationslaufs. (Andere Simulationen können einfach durchgeführt werden, indem der Startwert im folgenden Code geändert und verschiedene Parameter nach Wunsch geändert werden.)
11/32
κ^=2.1321000
Das Histogramm der Residuen sieht nicht gut aus: Es ist nach rechts geneigt. Dies weist auf Probleme hin. Dieses Problem ist nicht auf eine Asymmetrie der Residuen bei jeder Konzentration zurückzuführen. Vielmehr kommt es von einem Mangel an Passform. Dies zeigt sich in den Boxplots auf der rechten Seite: Obwohl die ersten fünf fast horizontal ausgerichtet sind, unterscheidet sich der letzte - bei der höchsten Konzentration - deutlich in Position (zu hoch) und Skalierung (zu lang). . Dies ergibt sich aus einer nichtlinearen Antwort, die ich in die Simulation eingebaut habe. Obwohl die Nichtlinearität im gesamten Konzentrationsbereich vorhanden ist, wirkt sie sich nur bei den höchsten Konzentrationen spürbar aus. Dies würde mehr oder weniger auch im Labor passieren. Mit nur einem verfügbaren Kalibrierungslauf konnten wir jedoch keine solchen Boxplots zeichnen. Erwägen Sie die Analyse mehrerer unabhängiger Läufe, wenn Nichtlinearität ein Problem sein könnte.
Die Simulation wurde in durchgeführt R
. Die Berechnungen mit tatsächlichen Daten sind jedoch einfach von Hand oder mit einer Tabelle durchzuführen: Überprüfen Sie nur die Residuen auf Nichtlinearität.
#
# Simulate instrument responses:
# `concentration` is an array of concentrations to use.
# `kappa` is the Beer-Lambert law coefficient.
# `n.0` is the largest expected photon count (at 0 concentration).
# `start` is a tiny positive value used to avoid logs of zero.
# `beta` is the amount of nonlinearity (it is a quadratic perturbation
# of the Beer-Lambert law).
# The return value is a parallel array of measured absorbances; it is subject
# to random fluctuations.
#
observe <- function(concentration, kappa=1, n.0=10^3, start=1/6, beta=0.2) {
transmission <- exp(-kappa * concentration - beta * concentration^2)
transmission.observed <- start + rpois(length(transmission), transmission * n.0)
absorbance <- -log(transmission.observed / rpois(1, n.0))
return(absorbance)
}
#
# Perform a set of simulations.
#
concentration <- 2^(-(0:5)) # Concentrations to use
n.iter <- 50 # Number of iterations
set.seed(17) # Make the results reproducible
absorbance <- replicate(n.iter, observe(concentration, kappa=2))
#
# Put the results into a data frame for further analysis.
#
a.df <- data.frame(absorbance = as.vector(absorbance))
a.df$concentration <- concentration # ($ interferes with TeX processing on this site)
#
# Create the figures.
#
par(mfrow=c(1,3))
#
# Set up a region for the scatterplot.
#
plot(c(min(concentration), max(concentration)),
c(min(absorbance), max(absorbance)), type="n",
xlab="Concentration", ylab="Absorbance",
main=paste("Scatterplot of", n.iter, "iterations"))
#
# Make the scatterplot.
#
invisible(apply(absorbance, 2,
function(a) points(concentration, a, col="#40404080")))
slope <- mean(a.df$absorbance / a.df$concentration)
abline(c(0, slope), col="Red")
#
# Show the residuals.
#
a.df$residuals <- a.df$absorbance - slope * a.df$concentration # $
hist(a.df$residuals, main="Histogram of residuals", xlab="Absorbance Difference") # $
#
# Study the residual distribution vs. concentration.
#
boxplot(a.df$residuals ~ a.df$concentration, main="Residual distributions",
xlab="Concentration")