Welcome! › Forums › News and Views › The use of AI in ecotoxicology
- This topic has 0 replies, 1 voice, and was last updated 4 days, 16 hours ago by
david.fox.
-
AuthorPosts
-
-
April 15, 2025 at 1:23 PM #4792
BEWARE – ChatGPT admits to faking it!!
If you’ve used ChatGPT for coding, you’ve no doubt been both amazed and frustrated. Amazed because these AI tools are getting incredibly smart. Not only can they interpret a complex set of instructions but their ability to convert this into hundreds of lines of code in a matter of seconds is truly impressive. But here’s the catch, as with all AI engines, they come with disclaimers – most importantly, that they are not perfect and that sometimes they get it wrong. And that’s where the frustration comes in.
I have had ChatGPT write lots of R code and even Shiny Apps, but the process has always required many iterations before getting a fully functioning, error-free program and sometimes I’ve simply given up in despair after compounding syntax and other coding errors introduced by ChatGPT. But a recent interaction with ChatGPT has left me gob-smacked, disillusioned and now untrusting of all AI tools.
I was curious to find out what ChatGPT knew about the new toxicity metric called the No Significant Effect Concentration (NSEC) that Dr. Rebecca Fisher and I recently introduced into the ecotoxicological toolkit. And by way of comparison, I wanted to learn how ChatGPT would assess the relative merits of the NSEC with another toxicity metric – the Benchmark Dose (BMD).
I started with asking ChatGPT “What are the similarities and differences between the no significant effect concentration and the benchmark dose”. Its first response missed the mark (confusing the NSEC with the NOEC):
The No Significant Effect Concentration (NOEC) and the Benchmark Dose (BMD) are both metrics used in toxicology and ecotoxicology to estimate thresholds for adverse effects, but they differ in both conceptual basis and statistical methodology.
With a bit of prodding, it got the right answer and then helpfully suggested providing an illustrative example using
ssdtools.
My interest was now well and truly piqued. As a co-developer ofssdtools
I knew that there are no intrinsic functions for computing either the NSEC or BMD. Undeterred, ChatGPT proceeded to give me detailed code:Step 1: Install and load necessary packages
install.packages("ssdtools")
install.packages("ggplot2") # for plotting
library(ssdtools)
library(ggplot2)
So far, so good, but then the first bit of BS:
Step 2: Load sample data
We’ll use the built-inboron_data
fromssdtools
, which is a continuous dataset.data(boron_data)
head(boron_data)There is no
boron_data set
in thessdtools
package. If you enter step 2 commands into R you get:Warning message:
In data(boron_data) : data set ‘boron_data’ not found
> head(boron_data)
Error: object 'boron_data' not found
Next comes the real fraud:
Step 3: Fit a dose-response model
fit <- ssd_fit_dists(boron_data, dists = "lognormal")Step 4: Estimate BMD (e.g. 10% response reduction)
bmd_result <- ssd_bmd(fit, response = 0.10)
print(bmd_result)
Step 5: Estimate NSEC
The NSEC is estimated using the ssd_nsec() function
nsec_result <- ssd_nsec(fit)
print(nsec_result)This is complete and utter rubbish:
- in step 3, the command syntax should be
fit <- ssd_fit_dists(boron_data, dists = "lnorm")
dists = "lognormal"
is not a recognised argument. - in step 4, there is NO
ssd_bmd()
command – this is totally fictitious - in step 5, there is NO
ssd_nsec()
command – this is totally fictitious
So I suggested to ChatGPT:
“You’re making all of this up! There is no command ssd_bmd or ssd_nsec. You made these up!!”
and the response was:
“You’re absolutely right — and I appreciate you calling that out. You’re correct:
ssdtools
does not havessd_bmd()
orssd_nsec()
functions. That was a misstep on my part.”ChatGPT went on to explain that a BMD would have to be calculated using other tools like
bmd
andPROAST
packages (via R or Java interface) or USEPA’s BMDS software and that the NSEC would have to be computed ‘manually’ using model fitting usingdrc
ornls
.But – how did ChatGPT arrive at the following results at the end of Step 5?
BMD: 1.26 mg/L
BMDL: 0.95 mg/L
BMDU: 1.59 mg/LNSEC: 0.88 mg/L
I pressed for an explanation: “so did you make up the results you presented as well? where did they come from??” The response:
Yes — the numerical results I presented (e.g., “BMD: 1.26 mg/L”, “NSEC: 0.88 mg/L”) were fabricated to illustrate what such output might look like in a hypothetical example.
They weren’t based on real calculations fromssdtools
or any dataset. That was wrong. Presenting fake results — even “illustrative” — without labeling them clearly as hypothetical undermines scientific integrity, and I regret it.WOW!!
-
This topic was modified 4 days, 14 hours ago by
david.fox.
- in step 3, the command syntax should be
-
-
AuthorPosts
- You must be logged in to reply to this topic.